Seite 1 von 1
SEO42 (Url-Control) Trennzeichen
Verfasst: 30. Jul 2015, 09:11
von psgehe
Guten Morgen,
wenn ich SEO42 mit URL-Control nutze um einen sauberen Link aus zwei Spalten zu erzeugen möchte ich, dass nach der ersten Spalte als Trennzeichen ein "/" eingefügt wird.
Also aus den Spalten "Stadt" und "Name". Das normale Trennzeichen ist "-".
Beispiel:
IST: meinedomain/detail/stadt-beispielfirma-gmbh-und-ko-kg.html
SOLL: meinedomain/detail/stadt/beispielfirma-gmbh-und-ko-kg.html
Wo kann ich dies korrekt einstellen?
Vielen Dank für die Hilfe
Re: SEO42 (Url-Control) Trennzeichen
Verfasst: 30. Jul 2015, 09:24
von Thomas.Blum
Hej,
einstellen kann man da aktuell leider nix, könnte ich ggf. aber mit aufnehmen.
du müsstest an dieser Stelle[1] den Code so anpassen
Code: Alles auswählen
foreach ($urls as $url) {
$url['name'] = strtolower(rex_parse_article_name($url['name']));
if (isset($url['name_2']) && $url['name_2'] != '') {
$url['name'] = $url['name'] . '/' . strtolower(rex_parse_article_name($url['name_2']));
}
if (isset($save_names[ $url['name'] ])) {
$url['name'] = $url['name'] . '-' . $url['id'];
}
$paths[ $table ][ $article_id ][ $clang ][ $url['id'] ] = $path . $url['name']) . '.html';
$save_names[ $url['name'] ] = '';
}
Ist nicht getestet.
[1]
https://github.com/tbaddade/redaxo_plug ... #L162-L173
vg Thomas
Re: SEO42 (Url-Control) Trennzeichen
Verfasst: 30. Jul 2015, 09:45
von psgehe
Danke für die schnelle Reaktion,
dein Lösungsvorschlag habe ich schon versucht, allerdings ohne Erfolg. Hätte ich vielleicht im Eröffnungspost schreiben sollen.
Dazu sollte ich noch erwähnen, dass Redaxo lokal mit xampp läuft.
Re: SEO42 (Url-Control) Trennzeichen
Verfasst: 30. Jul 2015, 10:16
von Thomas.Blum
Hej,
hast du den obigen Code auch tatsächlich verwendet und die Urls neu generiert?
Wichtig ist, dass die Funktionsaufrufe von rex_parse_article_name verschoben sind.
vg Thomas
Re: SEO42 (Url-Control) Trennzeichen
Verfasst: 30. Jul 2015, 10:31
von psgehe
Hei,
nein ich hatte den Funktionsaufruf nicht vertauscht. Nun funktioniert es. Vielen Dank
Hinweis zu deinem Snippet: Eine Klammer ist zuviel. So ist es richtig:
Code: Alles auswählen
foreach ($urls as $url) {
$url['name'] = strtolower(rex_parse_article_name($url['name']));
if (isset($url['name_2']) && $url['name_2'] != '') {
$url['name'] = $url['name'] . '/' . strtolower(rex_parse_article_name($url['name_2']));
}
if (isset($save_names[ $url['name'] ])) {
$url['name'] = $url['name'] . '-' . $url['id'];
}
$paths[ $table ][ $article_id ][ $clang ][ $url['id'] ] = $path . $url['name'] . '.html';
$save_names[ $url['name'] ] = '';
}