Guten Tag,
ich baue im Template eine URL dynamisch zusammen.
Prinzipiell habe ich auch eine passende SEO-URL angelegt.
D.h. die URL index.php?cl=xyz&id=1234 und die SEO-URL: XYZ/ erzeugen die selbe Ausgabe.
In der Tabelle oxseo finde ich meinen Eintrag "index.php?cl=xyz&id=1234"mit meiner SEO-URL “XYZ/”
Allerdings erzeugt mein oxgetseourl-Aufruf nicht die SEO-URL im Frontend, sondern erzeugt die normale URL.
[{oxgetseourl ident=$oViewConf->getSelfLink()|cat:“cl=xyz&id=”|cat:$sId}]
Was muss ich bei oxgetseourl beachten, damit das klappt.
Vielen Dank für die Tipps im Voraus.
Du hast im SEO Tag diese URL eingetragen:
index.php?cl=xyz&id=1234
versuchst aber die SEO URL für diese hier zu bekommen:
$oViewConf->getSelfLink()|cat:"index.php?cl=xyz&id=1234"
Du musst schon mit dem URL-Pfad versuchen, der auch in die SEO Tabelle eingetragen wurde.
Und ggf & als & verkoden.
1 Like
@vanilla thunder:
[I]$oViewConf->getSelfLink()[/I] allein, erzeugt meiner Meinung nach “index.php”
[I]$oViewConf->getSelfLink()|cat:“cl=xyz&id=”|cat:$sId[/I]
kombiniert die “index.php” mit “cl=xyz&id=” und der Id.
es kommt also
"index.php?cl=xyz&id=1234" raus.
Der Aufruf ist meiner Meinung nach richtig. Ich habe es auch schon mit codiertem “und” probiert ("$oViewConf->getSelfLink()|cat:“cl=xyz&id=”|cat:$sId") Das passt aber auch nicht.
Ich habe mir mal die “smarty_function_oxgetseourl” und von dort aus die “$oEncoder->getStaticUrl” angeschaut. Dort wird die _getStaticUri aufgerufen. Hier wird es jetzt komisch. Auf meine URL wird _trimUrl() angewendet. Hier ist meine Url nur noch “index.php”. Dann wird ein _getStaticObjectId() -> (md5 auf meine verstümmelte URL) draus gemacht und das wird versucht aus der DB zu laden. Das geht natürlich schief.
Das ist alles murks, darum wird die SEO-Url verworfen und ich bekomme die Standard-Url zu sehen.
Denke ich falsch?
Ok, Fehler gefunden:
Die SEO-URL die ich krampfhaft versucht habe im Frontend wieder darzustellen, ist durch ein Fremd-Modul in die oxseo eingetragen worden.
Der Entwickler hat sich da aber nicht an die Konventionen gehalten und die URL mit Parametern die mit einfachem “&” kombiniert waren, eingetragen.
Ich habe jetzt in der oxseo die URL sauber kodiert und konnte Sie dann auch ganz normal wieder durch die oxgetseourl erzeugen.
Danke fürs Mitdenken.