[gelöst] token als views argument
am 07.08.2011 - 14:11 Uhr in
Der Ubercart Token "Order-ID" soll als Argument eines embedded views in der E-Mail Bestellbestätigung des Kunden verwendet werden.
Im View habe ich das Argument "Order-ID" festgelegt und "Ansicht ausblenden / Seite wurde nicht gefunden (404)" gewählt wenn kein Argument zur Verfügung steht.
Den View rufe ich in der E-Mail wie folgt auf:
<?php
print views_embed_view('productlistview_backend', $display_id = 'default', $args[0]);
?>
Jedoch gibt er nichts aus.
Wenn ich nun eine existierende Order-ID im View mit "Standardargument zu Verfügung stellen", "Fester Eintrag" mitgebe klappt es ebenso wie wenn ich in der Live Vorschau ein Argument eingebe.
Den Token kann ich in der E-Mail anzeigen lassen.
$token = '[order-id]';
echo $token;
Nur fehlt mir wohl die richtige Syntax ihn als Argument im einbetetteten View zu verwenden.
Danke vorab!
Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
Hast du denn schon versucht
am 07.08.2011 - 14:52 Uhr
Hast du denn schon versucht den Token anstelle des $args[0] in deinen Views-Embed zu "packen" - damit sollte es dann eigentlich funktionieren, sofern du den Token so auslesen kannst, wie du es beschreibst.
<?php
print views_embed_view('productlistview_backend', $display_id = 'default', $token);
?>
Wichtig wäre hier natürlich noch das korrekte Views-Display - in einem Falle würde er ja das Default-View Display ausgeben - müsstest du noch mal in deinen Views schauen, wie das Display korrekt heißt.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Hi Steffen, der Token gibt
am 07.08.2011 - 16:23 Uhr
Hi Steffen,
der Token gibt mir seinen Wert in der E-Mail aus, ihn so reinpacken hat jedoch nicht funktioniert.
Das Display scheint ok, es wird angezeigt wenn ich den Wert des Tokens direkt als Argument reinschreibe.
Grüße Michael
Hast du denn in der E-Mail
am 07.08.2011 - 16:58 Uhr
Hast du denn in der E-Mail das $order Objekt vorliegen ? Kannst du bspw. über print_r($order) testen - aus diesem Objekt kannst du dir dann auch die order-id ausgeben lassen.
Der Zugriff sollte dann über $order->id erfolgen - dies müsstest du dann deinem View als Argument übergeben. Ein Token selbst kann in der Form [tokenname] auch nur in Plaintext / HTML aber nicht im PHP-Code selbst verwendet werden.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Hallo Steffen, das Objekt lag
am 07.08.2011 - 22:27 Uhr
Hallo Steffen,
das Objekt lag vor und ich konnte die Order ID wie du es beschrieben hast auslesen und als Argument verwenden.
<?php
print views_embed_view('productlistview_backend', $display_id = 'default', $order->order_id);
?>
Herzlichen Dank,
Michael