[gelöst] Werte übergeben
am 15.12.2009 - 03:29 Uhr in
Hallo zusammen,
ich habe mir nun per SQL eine Liste erzeugt, die mir bestimmte User auflistet.
Die Links zu den usern zeige ich folgendermaßen an.
print '<a href="/user/' . $row->uid. '">' . $row->name. '</a>';
Nun möchte ich aber nicht mehr, dass die Links direkt zu den Userprofilen /user/xxx führt, sondern auf eine konstante Seite (bspw. /node/10), in welcher ich aber gerne die angeklickte uid wissen möchte, damit ich es per PHP verwenden kann.
Also kurz zusammengefasst. Ich habe eine Liste mit usern. Wenn jemand auf einen user klickt, so soll eine neue Seite geöffnet werden. In dieser Seite möchte ich auf die uid wissen, auf dessen Link vorher geklickt wurde.
Wie kann ich das am elegantesten lösen? Ich habe schon etwa von $get gelesen, habe aber leider nicht herausfinden können, wie ich dies umsetzen kann.
Wäre klasse, wenn Ihr einen Tipp für mich hättet.
Vielen Dank schonmal und viele Grüße
tick313
- Anmelden oder Registrieren um Kommentare zu schreiben
Argumente
am 15.12.2009 - 08:48 Uhr
print '<a href="/user/' . $row->uid. '">' . $row->name. '</a>';
Verwende die Funktion l():
<?php print l($row->name, 'my-page/' . $row->uid); ?>
Also kurz zusammengefasst. Ich habe eine Liste mit usern. Wenn jemand auf einen user klickt, so soll eine neue Seite geöffnet werden. In dieser Seite möchte ich auf die uid wissen, auf dessen Link vorher geklickt wurde.
Wenn Du die Funktion arg() verwendest, hast Du die Id des Benutzers.
<?php
if (is_numeric(arg(1))) {
print t('User %uid clicked', array('%uid', arg(1)));
}
?>
Je nachdem, was Du eigentlich vor hast, wäre vermutlich ein eigenes Modul die eleganteste Lösung. Damit könntest Du auch gleich die Liste mit den Benutzern erstellen und ausgeben lassen und dann auch die Seite erstellen, die nach einem Klick auf die einzelnen Links erscheint.
Tipps dazu gibt es im Handbuch.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hi, vielen Dank für die
am 15.12.2009 - 15:30 Uhr
Hi,
vielen Dank für die schnelle Hilfe.
Verwende die Funktion l():
<?php
print l($row->name, 'my-page/' . $row->uid);
?>
Wenn ich das allerdings umsetze, und für 'my-page' bspw. /node/40 einsetze, so erhalte ich als Link für die uid=1 : /node/401 und führt somit ins nichts. :-(
Wie bekomme ich es in der Form hin, dass es ungefähr so aussieht: /node/40?uid=1 oder so ähnlich und Drupal mich zur richtigen Seite führt.
Der Tipp mit dem Modul ist klasse, ich wollte aber erstmal das ganze Prozedere step-by-step ausprobieren.
Grüße
tick313
ich habe es jetzt nochmal so
am 17.12.2009 - 01:22 Uhr
ich habe es jetzt nochmal so geändert, dass ich nun manuell einen Link erzeuge, wie z.B. /node/40?uid=1
denn Wert lese ich dann mit $get aus. Ist vielleicht nicht das eleganteste, aber es funktioniert :-)
danke nochmal!
Grüße
tick313