url_alias mit '?' wieso geht das nicht?
am 01.06.2008 - 12:15 Uhr in
Hallo Jungs&Mädels,
hab ein weiteres Problem :(
Ich wollte sagen wir zB. für Gruppen automatisch url aliase eintragen, Beispiel:
Standard url für Gruppe "test": site.com/gruppe?id=12
Dafür möchte ich folgende url eintragen:
url: test
ziel: gruppe?id=12
ausgeschrieben also site.com/test leitet zu site.com/gruppe?id=12
Das funktioniert leider nicht :(
Hab auch statt gruppe?id=12 (gruppe ist ja schon eine eingetragene url) mal node/8?id=12 ausprobiert... auch das ohne erfolg.
scheinbar kann drupal nicht mit den '?' arbeiten
Habe übrigends lesbare urls eingeschaltet. (habs auch mal ausgeschaltet und dann probiert, auch mit ?q=node/8&id=12)
Hätte jemand eine Idee wie es vielleicht doch gehen würde?
Ich danke euch schonmal
- Anmelden oder Registrieren um Kommentare zu schreiben
Wie kommt denn deine URL
am 01.06.2008 - 13:50 Uhr
Wie kommt denn deine URL site.com/gruppe?id=12 zustande?
Ohne Clean URLs (lesbare urls) eingeschaltet schaut ein Drupal Pfad ja so aus: site.com/?q=node/12
Also arbeitet Drupal prinzipiell schon mit "?". Durch Clean URLs (lesbare urls) wird daraus: site.com/node/12
Durch path (oder sogar pathauto) kann daraus werden: site.com/irgendwas
Was ich vermute ist, dass durch Clean URLs (lesbare urls) das Fragezeichen nicht mehr als Steuerzeichen interpretiert wird sondern als String. Aber obs ausreicht dir weiterzuhelfen, weis ich nicht :-)
» forward-media.de Drupal Entwicklung | Drupal Tutorials
site.com/gruppe?id=12 kommt
am 01.06.2008 - 18:16 Uhr
site.com/gruppe?id=12 kommt so zu stande:
site.com/node/8 wurde durch path zu site.com/gruppe
Der Inhalt dieses Nodes sieht etwa so aus:
<?php
$id = $_GET['id'];
... lade aus datenbank WHERE id = $id ...
?>
deswegen hänge ich also ?id=12 hinten dran...
funktioniert so ja auch egal ob ich:
site.com/gruppe?id=12 oder
site.com/node/8?id=12 aufrufe, funktioniert beides
Ja habe das Fragezeichen auch mal mit einem & ersetzt, hat aber auch nicht geholfen...
Ja schade dann kann mein Problem wohl nicht behoben werden... doof :(
Aber trotzdem danke!
Aber da ist noch ein Schritt
am 01.06.2008 - 21:30 Uhr
... den Drupals path modul macht
site.com/?q=node/8
wird zu
site.com/node/8
machst du zu
site.com/gruppe
hier kommt deine eigene Logik mit der PHP $_GET variablen ins Spiel und damit wird daraus
site.com/gruppe?id=12
der willst du jetzt wieder ein Alias geben
site.com/gruppename
Das eigentliche Problem ist der Schritt mit der GET Variablen bei dem du Drupal umgehst.
Du könntest site.com/gruppename als alias auf site.com/gruppe bzw site.com/node/8 zeigen lassen und dann folgendes versuchen (ist umständlich, müsste aber gehen)
<?php
if (arg(0) == 'gruppename') {
... lade aus datenbank WHERE id = 12 ...
}
elseif (arg(0) == 'anderergruppename') {
... lade aus datenbank WHERE id = andereID ...
} ...
?>
» forward-media.de Drupal Entwicklung | Drupal Tutorials
Mir ist da grad was
am 01.06.2008 - 22:02 Uhr
Mir ist da grad was eingefallen...
Ist zwar mindestens genauso umständlich aber das würde gut per php script funktionieren...
Als erstes wird ein Node erstellt welches automatisch zu site.com/gruppe?id=12 weiterleitet.
(Nehmen wir an der Node heisst node/33)
Danach wird ein path (also url alias) angelegt zB. site.com/meinegruppe dieser leitet dann einfach mein node/33
Dürfte ja eigentlich klappen :)
Aber ob ich das so umsetze weiß ich noch nicht, falls das überhaupt klappt ;)
Also ich verbleibe hier jetzt erstmal so und schließe sozusagen die Akte... heb ich mir mal für "schlechte tage" auf...
Aber ich danke dir vielmals für deine tolle Hilfe!