Argumente mit Leerzeichen werden durch "+" ersetzt
Eingetragen von batman1983 (189)
am 09.06.2008 - 19:18 Uhr in
am 09.06.2008 - 19:18 Uhr in
Hallo,
folgendes Problem:
ich habe mehrere Argument-Views. Ich filter' nach CCK-Feldern, die zum Teil mehere Wörter haben. Die Leerzeichen werden bei einem View durch ein Pluszeichen ersetzt. Dieses muss in der URL stehen, damit das Argument funktioniert.
Also die URL muss so aussehen, dass es funktioniert: "hotel/Costa+Rica", ich will das es so aussieht: "hotel/Costa-Rica"
Wie bekomme ich das "+" durch ein "-" ersetzt?
MFG Batman1983
- Anmelden oder Registrieren um Kommentare zu schreiben
mode_rewrite
am 09.06.2008 - 19:29 Uhr
Ich wuerde mode_rewrite vorschlagen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Auch nen guter Vorschlag.
am 09.06.2008 - 23:19 Uhr
Auch nen guter Vorschlag. Wie würde die RewriteRule dann aussehen?
Tut mir leid. Muesste mich
am 09.06.2008 - 23:41 Uhr
Tut mir leid. Muesste mich in mod_rewrite einlesen um aufzufrischen. Mod_rewrite ist aber sehr gut dokumentiert.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Danke dereine hab ich das
am 10.06.2008 - 12:08 Uhr
Danke dereine hab ich das ganze nun so gelöst:
Ich erstelle beim Abschicken eines Node einen eigenen path_alias. So werden alle Leerzeichen als "-" ausgegeben.
if (preg_match('/\s/', $node->field_state[0]['value']) || preg_match('/\s/', $node->field_country[0]['value'])){
$pathalias2 = str_replace(' ', '-', $node->field_country[0]['value']);
$pathalias2 .= '/';
$pathalias2 .= str_replace(' ', '-', $node->field_state[0]['value']);
path_set_alias('hotel/'. $node->field_country[0]['value'].'/'. $node->field_state[0]['value'], 'hotel/'. $pathalias2);
} // endif preg_match field_state
Und das muss in den hook_nodeapi $op='submit'
MFG Batman1983