Plugin Advanced Mod Rewrite für Contenido 4.8.x

hes
Beiträge: 44
Registriert: Di 3. Jan 2006, 17:01
Kontaktdaten:

Beitrag von hes » So 23. Nov 2008, 10:44

Hallo xmurrix,
bin gerade bei einem Projekt über den Fehler Missing argument 2 for cecFrontendCategoryAccess_Backend() ... /include.chain.frontend.cat_backendaccess.php gestolpert ...

Vergisst Du bitte nicht Deinen Lösungsansatz in Msg #123159 in eine neuere Version (0.4.6) mit aufzunehmen...
Mfg. hes

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » So 23. Nov 2008, 13:38

Hallo,
hes hat geschrieben:...
Vergisst Du bitte nicht Deinen Lösungsansatz in Msg #123159 in eine neuere Version (0.4.6) mit aufzunehmen...
danke für den Hinweis, das wird auch in der neuen Version des Plugins vorhanden sein.

Gruß
xmurrix

notaus
Beiträge: 98
Registriert: Di 13. Dez 2005, 14:18
Kontaktdaten:

Ähnliche Kat.Namen und Artikelnamen

Beitrag von notaus » Mo 24. Nov 2008, 09:31

Hallo,

seltsames zum Problem mit den ähnlichen Kategorie-Aliase und Artikel-Aliase: Lokal (aktueller XAMPP) funktionierts tadellos, auf 1u1 tritt der beschriebene Fehler auf.

aktueller MR-Plugin und Contenido 4.8.8

Evtl. handelt es sich um einen Bug im Apache rewrite-Modul?

Grüße

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Ähnliche Kat.Namen und Artikelnamen

Beitrag von xmurrix » Mo 24. Nov 2008, 13:17

Hallo,
notaus hat geschrieben:...seltsames zum Problem mit den ähnlichen Kategorie-Aliase und Artikel-Aliase: Lokal (aktueller XAMPP) funktionierts tadellos, auf 1u1 tritt der beschriebene Fehler auf.
...
Evtl. handelt es sich um einen Bug im Apache rewrite-Modul?
...
an Apache solle das nicht liegen, der gibt die ankkommenden URLs (wie /kategorie/artikel.html) an die front_content.php weiter. Dort wird dann versucht, daraus die Kategorieid/Artikelid zu ermitteln.

Was genau passiert denn bei dir, landest du auf einer ähnlich klingenden Seite/Kategorie?

Gruß
xmurrix

notaus
Beiträge: 98
Registriert: Di 13. Dez 2005, 14:18
Kontaktdaten:

Beitrag von notaus » Mo 24. Nov 2008, 13:46

nein, die fehlerseite wird geladen.
nach umbenennen des artikels od. kategorie gehts dann.
auch der mr-test ist negativ.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mo 24. Nov 2008, 22:21

notaus hat geschrieben:nein, die fehlerseite wird geladen.
nach umbenennen des artikels od. kategorie gehts dann.
auch der mr-test ist negativ.
Kann es sein, dass du Contenido inkl. AMR-Plugin installiert, die Struktur angelegt und erst danach den Patch zum Beheben des Bugs in der Pluginkonfiguration eingespielt hast?
Das könnte es erklären, warum es nach dem Umbenennen geht. Eventuell hilft das Ausführen der Funktion zum Zurücksetzten der Aliase - der Button dazu ist im Backend auf der Pluginseite.

Gruß
xmurrix

Polardrache
Beiträge: 55
Registriert: Fr 22. Apr 2005, 15:41
Wohnort: Berlin
Kontaktdaten:

Bug in 0.5.0rc ?

Beitrag von Polardrache » Fr 28. Nov 2008, 11:46

Hallo xmurrix,

vielen Dank, dass Du weiterhin an diesem so ungemein wichtigen Plugin arbeitest. Ich spreche sicher nicht nur für mich, wenn ich sage, dass Contenido nur halb so gut einsetzbar wäre, wenn Du Dich nicht dieses Themas angenommen hättest.

Ich habe die 0.5.0rc-Version mal testweise unter http://www.berlin-greeter.org installiert und hoffe, dass ich Dich ein bißchen mit meinem Feedback unterstützen kann.

Als erstes ist mir aufgefallen, dass es eine Fehler bei der Integration der Sprache in den URLs gibt. Diese wird nur aufgenommen, wenn ich auch die Option "Start vom Hauptbaum aus" aktiviere. Ist diese nicht aktiviert, sondern nur "Sprache an die URL voranstellen", so entsteht eine URL à la "http://www.berlin-greeter.org/hauptnavigation/...".

Außerdem sehe ich gerade, dass "Artikelname immer an die URLs anhängen" nicht funktioniert, wenn ich keinen Text wie z.B. "index" vorgebe. Eigentlich sollte "Wenn die Option aktiviert und das Feld leer ist, [...] der Name des Startartikels verwendet" werden, oder?

Soweit erstmal, der Rest scheint für mich erstmal zu funktionieren.

Viele Grüße
Philipp

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Bug in 0.5.0rc ?

Beitrag von xmurrix » Fr 28. Nov 2008, 12:31

Hallo,
Polardrache hat geschrieben:...
Als erstes ist mir aufgefallen, dass es eine Fehler bei der Integration der Sprache in den URLs gibt. Diese wird nur aufgenommen, wenn ich auch die Option "Start vom Hauptbaum aus" aktiviere. Ist diese nicht aktiviert, sondern nur "Sprache an die URL voranstellen", so entsteht eine URL à la "http://www.berlin-greeter.org/hauptnavigation/...".

Außerdem sehe ich gerade, dass "Artikelname immer an die URLs anhängen" nicht funktioniert, wenn ich keinen Text wie z.B. "index" vorgebe. Eigentlich sollte "Wenn die Option aktiviert und das Feld leer ist, [...] der Name des Startartikels verwendet" werden, oder?...
vielen Dank für das Feedback, die von dir beschriebenen Probleme werde ich mir demnächst genauer ansehen.

Gruß
xmurrix

busi
Beiträge: 82
Registriert: Mi 18. Sep 2002, 13:36
Kontaktdaten:

Fehler beim Artikel bearbeiten

Beitrag von busi » Di 2. Dez 2008, 22:25

Hallo

Ich hoffe jemand kann mir da weiterhelfen. Habe die Version 0.5.0rc bei mir installiert und erhalte folgende Fehlermeldung, wenn ich im Artikel Text erfassen oder ändern will.

Code: Alles auswählen

Fatal error: Call to undefined method CEC_Hook::setconditions() in /home/httpd/vhosts/mysite/httpdocs/cms/front_content.php on line 550
Bin froh um jeden Tipp.


bumi
busi

"...please forgive me, now I see that I've been blind..."

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Fehler beim Artikel bearbeiten

Beitrag von xmurrix » Di 2. Dez 2008, 23:08

Hallo,
busi hat geschrieben:...
Ich hoffe jemand kann mir da weiterhelfen. Habe die Version 0.5.0rc bei mir installiert und erhalte folgende Fehlermeldung, wenn ich im Artikel Text erfassen oder ändern will.

Code: Alles auswählen

Fatal error: Call to undefined method CEC_Hook::setconditions() in /home/httpd/vhosts/mysite/httpdocs/cms/front_content.php on line 550
...
danke für die Info, in der 0.5.0rc hat noch die neueste Version der CEC_Hook gefehlt, du kannst die class.cec_hook.php herunterladen und in das Verzeichnis /contenido/classes/ kopieren - danach sollte es klappen.

Gruß
xmurrix

busi
Beiträge: 82
Registriert: Mi 18. Sep 2002, 13:36
Kontaktdaten:

Beitrag von busi » Mi 3. Dez 2008, 07:31

Hallo

Super besten Dank, werde es gleich ausprobieren. Eine andere Frage habe ich noch. Aus einer 4.6x Version habe ich mir das Modul Redirect Intern geholt und ein wenig angepasst, damits in der 4.8.8 auch läuft. Wenn ich nun Advanced Mod rewrite aktiviere, werden anstelle der internen redirects nur leere weisse Seiten angezeigt.

Hier mal der ursprüngliche Output des Moduls

Code: Alles auswählen

<?php
/*********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Redirect Intern
* Version : 0.1
* Author(s) : Stefan Seifarth <info@polycoder.de>
* Created : 27-11-2005
**********************************************/

$str_params = "changelang=" . $lang . "&client=" . $client;

$db5 = new DB_Contenido;
$selected_cat = substr("CMS_VALUE[666]", 6);

$sql5 = "SELECT
A.startidartlang
FROM
".$cfg["tab"]["cat_lang"]." AS A
WHERE
A.idcat = '".$selected_cat."'";

$db5->query($sql5); 
$db5->next_record();

if (strlen("CMS_VALUE[666]") > 0) {
$str_params.= "&" . "CMS_VALUE[666]" . "&idart=" . $db5->f("startidartlang");
}

// hier custom parameter hinzufügen
$str_xhtml = $cfgClient[$client]["path"]["htmlpath"] . $sess->url("front_content.php?" . $str_params);

header ("Location: " . $str_xhtml );


?>
Hast du mir da noch einen Tipp wie ich denn die URL zusammenbasteln muss?
busi

"...please forgive me, now I see that I've been blind..."

Polardrache
Beiträge: 55
Registriert: Fr 22. Apr 2005, 15:41
Wohnort: Berlin
Kontaktdaten:

Re: Fehler beim Artikel bearbeiten

Beitrag von Polardrache » Mi 3. Dez 2008, 10:25

xmurrix hat geschrieben:Hallo,
busi hat geschrieben:...
Ich hoffe jemand kann mir da weiterhelfen. Habe die Version 0.5.0rc bei mir installiert und erhalte folgende Fehlermeldung, wenn ich im Artikel Text erfassen oder ändern will.

Code: Alles auswählen

Fatal error: Call to undefined method CEC_Hook::setconditions() in /home/httpd/vhosts/mysite/httpdocs/cms/front_content.php on line 550
...
danke für die Info, in der 0.5.0rc hat noch die neueste Version der CEC_Hook gefehlt, du kannst die class.cec_hook.php herunterladen und in das Verzeichnis /contenido/classes/ kopieren - danach sollte es klappen.

Gruß
xmurrix
Hatte den gleichen Fehler und konnte ihn ebenfalls problemlos mit der neuen CEC_Hook beheben.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mi 3. Dez 2008, 13:35

Hallo,
busi hat geschrieben:...Aus einer 4.6x Version habe ich mir das Modul Redirect Intern geholt und ein wenig angepasst, damits in der 4.8.8 auch läuft. Wenn ich nun Advanced Mod rewrite aktiviere, werden anstelle der internen redirects nur leere weisse Seiten angezeigt...
ich würde den Modulcode

Code: Alles auswählen

// hier custom parameter hinzufügen 
$str_xhtml = $cfgClient[$client]["path"]["htmlpath"] . $sess->url("front_content.php?" . $str_params); 

header ("Location: " . $str_xhtml);
um folgende Zeilen erweitern (ohne Gewähr):

Code: Alles auswählen

// hier custom parameter hinzufügen
$str_xhtml = $cfgClient[$client]["path"]["htmlpath"] . $sess->url("front_content.php?" . $str_params);
$str_xhtml = CEC_Hook::execute('Contenido.Frontend.CreateURL', $str_xhtml);
@ob_flush();
header ("Location: " . $str_xhtml);
page_close();
exit();
Das sollte dafür sorgen, dass die Weiterleitung korrekt funktioniert. Die Methode page_close brauchst du um neue Zustände in der Session zu speichern und das exit, damit auch wirklich nach dem redirect schluss ist.

Die Lösung ist aber eher ein Workaround, sauber ist das Ganze nicht.

Der verwendete CEC-Aufruf CEC_Hook::execute('Contenido.Frontend.CreateURL') ist eigentlich nicht zukunftssicher, d. h. momentan funktioniert das so, aber in zukünftigen Contenido-Versionen wird es sehr wahrscheinlich eine einheitliche URL-Generierung geben.

Gruß
xmurrix[/i]

Polardrache
Beiträge: 55
Registriert: Fr 22. Apr 2005, 15:41
Wohnort: Berlin
Kontaktdaten:

Weiterer Fehler in der Version 0.5rc?

Beitrag von Polardrache » Do 4. Dez 2008, 09:39

... oder ist vielleicht doch eher das Google Sitemap Modul (von yodatortenboxer, http://forum.contenido.org/viewtopic.php?t=21794) schuld?

Fatal error: Call to undefined method ModRewrite::build_new_url() in /home/greeter/public_html/cms/front_content.php(962) : eval()'d code on line 161 -> http://www.berlin-greeter.org/cms/front ... p?idart=59

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Weiterer Fehler in der Version 0.5rc?

Beitrag von xmurrix » Do 4. Dez 2008, 13:47

Polardrache hat geschrieben:... oder ist vielleicht doch eher das Google Sitemap Modul (von yodatortenboxer, http://forum.contenido.org/viewtopic.php?t=21794) schuld?

Fatal error: Call to undefined method ModRewrite::build_new_url() in /home/greeter/public_html/cms/front_content.php(962) : eval()'d code on line 161 -> http://www.berlin-greeter.org/cms/front ... p?idart=59
Ich würde nicht behaupten, das das Sitemap Modul schuld daran ist, immerhin Ändern sich die Schnittstellen des Plugins ab und an, daher kann es hin und wieder Probleme geben. Arbeite aber daran, dass das nicth sehr oft vorkommt.

Vermutlich verwendest du die Version 0.5.0rc des Plugins, in der gibt es die Methode ModRewrite::build_new_url() nicht.

Ich würde vorschlagen, im Moduloutput die Zeile:

Code: Alles auswählen

    $link = ModRewrite::build_new_url("?idart=$linkid");
gegen

Code: Alles auswählen

    $link = CEC_Hook::execute('Contenido.Frontend.CreateURL', $cmsPhpSkript . '?idart=' . $linkid);
zu ersetzen, das sollte das Problem vorerst lösen.

Allerdigns ist das Beispiel auch nicht ideal, da die Verwendung der Chain CEC_Hook::execute('Contenido.Frontend.CreateURL', $cmsPhpSkript . '?idart=' . $linkid); in zukünftigen Contenido-Versionen rausfliegen könnte.

Gruß
xmurrix

Gesperrt