Hallo ersteinmal.
Ich verwende die Funktion „URLBuidler“ die xmurix in diesem Artikel beschrieben hat.
http://forum.contenido.org/viewtopic.php?f=64&t=23280
Als Grundlage für meine Seite verwende ich den Beispielmandanten mit allen Funktionen.
Es funktionieren auch alle Module soweit bis auf zwei.
1.Suche
2.Login
Die Suche gibt einen absolut falschen Wert aus der sich auf die Suchpage bezieht.
Aktuelle Pfad nach dem URLBuilder:
http://www.domain.de/Aktuelles/index-a-12.ibl
Pfadangaben in der Suche bei der gleichen Seite:
http://www.domain.de/Suchergebnisse/ind ... -12-19.ibl
Bei dem Login ist das ähnlich. Nach der Eingabe der Logindaten führt der Link dorthin:
http://www.domain.de/Fehlerseite/index- ... rror-1.ibl
Gehe ich zwei Schritte zurück im Braowser bin ich eingelogt und kann die geschützten Seiten verwenden.
Die Bildgallerie verwende ich nicht – deshalb kann ich dazu nix sagen.
Hat schon jemand die Funktionen aus der URLBuilder.class auf diese beiden Module übertragen?
Die Umschaltung zwischen D < > Eng. habe ich dadurch gelöst, dass ich als Weiterleitung einen absoluten Pfad gesetzt habe.
urlBuilder für "Login" & "Suche"
urlBuilder für "Login" & "Suche"
MakD 42
______________________
Contenido 4.6.8 & 4.8.15
MySQL 5.1.54
Linux/Apache
Meine Contenidoprojekte: art & weise | StadtMedia | aidea
______________________
Contenido 4.6.8 & 4.8.15
MySQL 5.1.54
Linux/Apache
Meine Contenidoprojekte: art & weise | StadtMedia | aidea
-
- Beiträge: 3217
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 19 Mal
- Kontaktdaten:
Re: urlBuilder für "Login" & "Suche"
Hallo MakD42,
der Artikel zur Verwendung des UrlBuilders ist nicht vollständig, es ist mehr eine Einleitung zum Thema.
Nun zu deinem Problem:
Die Erstellung der URLs für die Suchausgabe ist meiner Meinung nach nicht ganz richtig, ist aber eine Vermutung...
In der Modulausgabe von "Search_Output" findest du an Zeile 267 folgende Zeilen:
Da wird immer die aktuelle idcat und idart zum Generieren der URL zur gefundenen Seite übergeben, dies sollte angepasst werden in:
Habe das etwas übersichtlicher gemacht, damit man es einfacher lesen kann. Als Parameter werden zum Einen die Sprache, die Ebene (level), die Artikelid sowie die Kategorieid der gefundenen Seite übergeben. Zusätzlich gibt es noch einen search Parameter, der wiederum aus mehreren Werten besteht - aus Sprache, Kategorieid und Artikelid der aktuellen Seite. Diese Werte können hilfreich sein, wenn man von der Suche auf ein Ergebnis klickt, und dort wieder zur Suche zurückverlinken möchte. Was da noch fehlt, ist der Suchtext, der geht bei dieser Aktion verloren, den kannst du aber auch dem UrlBuilder mit übergeben.
Zum Login:
Da kann ich dir nichts konkretes sagen, vermute aber, dass es an der URL im action Attribut der Form liegt.
Im Modul wird die folgende URL verwendet:
Das kann dann beim POST serverseitig eventuell nicht erkannt werden. Das Verarbeiten des Logins geschieht vor der Überprüfung der ankommenden URL. D. h. dein Login wird vermutlich akzeptiert und danach schlägt die Erkennung der Artikelid/Kategorieid fehl, und du landest auf der Errorseite.
Vielleicht hilft es, wenn du auch im action-Attribut die URL mit dem UrlBuilder generierst.
Der default UrlBuilder in Contenido ist nicht unbedingt in allen Modulen des Beispielmandanten vollständig integriert, daher kann es zu solchen kleineren "Stolpersteinen" kommen - an manchen Stellen muss man dann etwas Feintuning machen...
Nachtrag:
Zum Wechsel von DE zu EN fällt mir noch folgendes ein. Der Aufruf der Seite macht wiederum einen Redirect mit dem Parameter changelang. Dieser Redirect könnte vom UrlBuilder eventuell nicht korrekt verarbeitet werden, weil da noch vom UrlBuilder benötigte Parameter wie die aktuelle Sprache oder level fehlen. Dann kann es sein, dass der Urlbuilder die Original-URL "front_content.php?idcat=1&changelang=2" zurückgibt, der dann in der .htaccess nicht erkannt wird.
Gruß
xmurrix
der Artikel zur Verwendung des UrlBuilders ist nicht vollständig, es ist mehr eine Einleitung zum Thema.
Nun zu deinem Problem:
Die Erstellung der URLs für die Suchausgabe ist meiner Meinung nach nicht ganz richtig, ist aber eine Vermutung...
In der Modulausgabe von "Search_Output" findest du an Zeile 267 folgende Zeilen:
Code: Alles auswählen
$aParams = array('search' => array('lang' => $lang, 'idcat' => $cat_id, 'idart' => $key),
'idcat' => $idcat, // needed to build category path
'lang' => $lang, // needed to build category path
'level' => 1); // needed to build category path
Code: Alles auswählen
$aParams = array(
'search' => array(
'lang' => $lang,
'idcat' => $idcat,
'idart' => $idart
),
'idart' => $key, // needed for article...
'idcat' => $cat_id, // needed to build category path
'lang' => $lang, // needed to build category path
'level' => 1 // needed to build category path
);
Zum Login:
Da kann ich dir nichts konkretes sagen, vermute aber, dass es an der URL im action Attribut der Form liegt.
Im Modul wird die folgende URL verwendet:
Code: Alles auswählen
$sFormAction = 'front_content.php?idcat='.$sTargetIdcat.'&idart='.$sTargetIdart;
Vielleicht hilft es, wenn du auch im action-Attribut die URL mit dem UrlBuilder generierst.
Code: Alles auswählen
$aParams = array(
'idart' => $sTargetIdart,
'idcat' => $sTargetIdcat,
'lang' => $lang
);
$sFormAction = Contenido_Url::getInstance()->build($aParams);
Nachtrag:
Zum Wechsel von DE zu EN fällt mir noch folgendes ein. Der Aufruf der Seite macht wiederum einen Redirect mit dem Parameter changelang. Dieser Redirect könnte vom UrlBuilder eventuell nicht korrekt verarbeitet werden, weil da noch vom UrlBuilder benötigte Parameter wie die aktuelle Sprache oder level fehlen. Dann kann es sein, dass der Urlbuilder die Original-URL "front_content.php?idcat=1&changelang=2" zurückgibt, der dann in der .htaccess nicht erkannt wird.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.