[gelöst] Weiterleitung mit Rules und Token nach Erstellung von Inhalt
am 21.01.2011 - 13:13 Uhr in
Hallo liebe Community,
ich erstelle gerade eine Drupal-Seite die -gekürzt gesagt- ein vom Nutzer hochgeladenes Foto in einem Flashfilm verwendet. Die Namen der Fotos werden per GET über die URL an den Flashfilm übergeben. Die URL sieht etwa so aus:
meineseite.de/?q=video&meinFoto=foto1.jpg
Soweit funktioniert das auch. Nur an einer Stelle hakt es. Ich will das der Name des Fotos beim Abspeichern des entsprechenden Formulars an die URL angehängt wird. Um das zu realisieren benutze ich Rules und Token. Mit Rules kann sich so eine Weiterleitung einrichten, nachdem das Foto in dem Formular hochgeladen wurde. Vorgestellt habe ich mir dass es so oder ähnlich funktionieren müsste:
meineseite.de/?q=video&meinFoto=[file:filefield-filename]
Jetzt sind bei Erstellung dieser Rule aber nur Tokens des Types user und form-id vorhanden (sind jedenfalls unter "Token-Ersetzungsmuster" angegeben). Diese funktionieren auch. Nur wie kann ich auf andere Tokens zugreifen?
Ist es vielleicht möglich per php über $form auf das Formularfeld und den Namen des Fotos zuzugreifen?
Für jegliche Ratschläge wäre ich dankbar.
Tobi
- Anmelden oder Registrieren um Kommentare zu schreiben
token
am 21.01.2011 - 13:49 Uhr
Hallo.
Kurze Zwischenfrage: hast Du das Modul [do:token Token] installiert?
token
am 21.01.2011 - 14:30 Uhr
Hi,
Klar. Das neuste 6.x-1.15.
Mit der Development
am 21.01.2011 - 17:21 Uhr
Mit der Development Version!
http://ftp.drupal.org/files/projects/token-6.x-1.x-dev.tar.gz
das will nicht...
am 21.01.2011 - 20:32 Uhr
Trotz der Development-Version sind die einzigen Tokens, die ich bei der Rule verwenden kann "Ersetzungsmuster für Formular ID" und "Ersetzungsmuster für handelnder Benutzer", aber nicht die für das Filefield also [file:filefield-filename].
Scheinbar sind die Tokens die als in der Hilfe als "verfügbar" aufgelistet werden nich zu gebrauchen. Auf jeden Fall wundert es mich dass es zum Thema Tokens keine Dokumentation oder API-Referenz zu finden ist.
Hat irgendwer n Vorschlag wie man das lösen kann?
Wie genau hst du die Regel
am 21.01.2011 - 23:16 Uhr
Wie genau hst du die Regel den erstellt? Auslöser, Bedingungen usw? Denn eigentlich hat man nach dem Speichern eines Nodes auch die Tokens für den Node zur Verfügung.
so:
am 22.01.2011 - 00:30 Uhr
Ich habe eine Reaktive Regel erstellt mit dem Auslöser-Ereignis "Node Form is submitted" (das ist der selbsterstellte Inhaltstyp der mit dem man das Foto hochlädt). Bedingungen hab ich keine und Aktion ist "Set form redirect target to 'http://meineseite.de/?q=video&meinFoto=[file:filefield-filename]'"
wobei [file:filefield-filename] auch nicht in der verfügbaren Tokens angegeben wird. Verfügbar sind scheinbar nur:
Ersetzungsmuster für Form
-keine
Ersetzungsmuster für Form state
-keine
Ersetzungsmuster für Formular ID
[form_id:string] The sanitized string.
[form_id:string-raw] The string, WARNING - raw user input
Ersetzungsmuster für handelnder Benutzer
[user:account-edit-url] The URL of the account edit page.
[user:account-url] The URL of the account profile page.
[user:date-in-tz] The current date in the user's timezone.
[user:mail] The email address of the user account.
[user:uid] The unique ID of the user account.
[user:user] The login name of the user account.
[user:user-created-d] User's registration day (one or two digits without leading zeros)
[user:user-created-date] User's registration date (numeric representation of the day of the week)
[user:user-created-day] User's registration day (full word)
[user:user-created-dd] User's registration day (two digits with leading zeros)
[user:user-created-ddd] User's registration day (abbreviation)
[user:user-created-m] User's registration month (one or two digits without leading zeros)
[user:user-created-mm] User's registration month (two digits with leading zeros)
[user:user-created-mon] User's registration month (abbreviated)
[user:user-created-month] User's registration month (full word)
[user:user-created-raw] User's registration in UNIX timestamp format (1295652192)
[user:user-created-since] User's registration in 'time-since' format. (41 Jahre 4 Wochen)
[user:user-created-small] User's registration date in 'small' format. (22.01.2011 - 00:23)
[user:user-created-ww] User's registration week (two digits with leading zeros)
[user:user-created-yy] User's registration year (two digit)
[user:user-created-yyyy] User's registration year (four digit)
[user:user-last-login-d] User's last login day (one or two digits without leading zeros)
[user:user-last-login-date] User's last login date (numeric representation of the day of the week)
[user:user-last-login-day] User's last login day (full word)
[user:user-last-login-dd] User's last login day (two digits with leading zeros)
[user:user-last-login-ddd] User's last login day (abbreviation)
[user:user-last-login-m] User's last login month (one or two digits without leading zeros)
[user:user-last-login-mm] User's last login month (two digits with leading zeros)
[user:user-last-login-mon] User's last login month (abbreviated)
[user:user-last-login-month] User's last login month (full word)
[user:user-last-login-raw] User's last login in UNIX timestamp format (1295652192)
[user:user-last-login-since] User's last login in 'time-since' format. (41 Jahre 4 Wochen)
[user:user-last-login-small] User's last login date in 'small' format. (22.01.2011 - 00:23)
[user:user-last-login-ww] User's last login week (two digits with leading zeros)
[user:user-last-login-yy] User's last login year (two digit)
[user:user-last-login-yyyy] User's last login year (four digit)
[user:user-raw] The login name of the user account. Warning: Token value contains raw user input.
Und dann natürlich noch die möglichkeit per php auswertung:
PHP-Auswertung
$form
$form_state
$form_id
$user
Kann ich das vielleicht per php auswertung lösen?
Das ist irgendwie ein völlig
am 22.01.2011 - 01:09 Uhr
Das ist irgendwie ein völlig falscher Auslöser.
Verwende mal einen davon (je nachdem, welcher besser zu deinem Vorhaben passt):
- After saving new content
- After updating existing content
- Content is going to be saved
Bzw. die entsprechenden Übersetzungen, wenn du eine deutsche Version hast.
Damit hast du dann Tokens für den gespeicherten Node und dort taucht dann auch das Feld auf.
Tokens für Form und form_state haben dort in diesem Falle gar nichts verloren Ô_o
Danke
am 22.01.2011 - 13:12 Uhr
Ja das wars. Der falsche Auslöser.
Vielen Dank für den Hinweis!
Dann markiere den Thread doch
am 22.01.2011 - 22:11 Uhr
Dann markiere den Thread doch bitte als gelöst (ersten Post editieren und "[gelöst]" vor den Titel schreiben).