neue smarty für product_info
neue smarty für product_info
Hallo,
wie stelle ich es an, dass ich in die product_info.html eine neue Funktion einbringe?
Ich möchte einen barcode aus products_ean generieren.
Es soll also ein script aufgerufen werden, das den barcode generiert.
Die Darstellung möchte ich als smarty verfügbar haben, wie z.B. {$PRODUCTS_MODEL}
Möglich?
wie stelle ich es an, dass ich in die product_info.html eine neue Funktion einbringe?
Ich möchte einen barcode aus products_ean generieren.
Es soll also ein script aufgerufen werden, das den barcode generiert.
Die Darstellung möchte ich als smarty verfügbar haben, wie z.B. {$PRODUCTS_MODEL}
Möglich?
Re: neue smarty für product_info
http://www.smarty.net/manual/de/plugins.php
Im Ordner 'smarty' des Template Ordners eine neue Datei anlegen. Z.B. 'function.barcode.php'. Dann muss die enthaltene Funktion folgendermaßen aufgebaut sein:
$result muss dann das Endergebnis enthalten. Du kannst aber auch innerhalb des Codes z.B. den HTML Tag eines Bildes per echo ausgeben... je nachdem wie der Barcode generiert wird. Würde sich auch empfehlen da einen Cache-Mechanismus einzubauen, sodass die generierte Bild-Datei (ich nehme an, der Barcode wird als Bild generiert) nicht bei jedem Aufruf neu erstellt wird.
Anwendung im Template:
Im Ordner 'smarty' des Template Ordners eine neue Datei anlegen. Z.B. 'function.barcode.php'. Dann muss die enthaltene Funktion folgendermaßen aufgebaut sein:
Code: Alles auswählen
function smarty_function_barcode($parms, $smarty)
{
$ean = $parms['ean'];
// hier folgt der Code zur Generierung des Barcodes
return $result;
}
Anwendung im Template:
Code: Alles auswählen
{barcode ean=$PRODUCTS_EAN}
Re: neue smarty für product_info
hallo Doc,
vielen Dank.
Noch ne Frage:
Wie kann ich den barcode mit der "jetzt kaufen" Funktion hinterlegen?
vielen Dank.
Noch ne Frage:
Wie kann ich den barcode mit der "jetzt kaufen" Funktion hinterlegen?
Re: neue smarty für product_info
Sorry, verstehe nicht, was Du meinst.Josef hat geschrieben:Wie kann ich den barcode mit der "jetzt kaufen" Funktion hinterlegen?
Re: neue smarty für product_info
mein Ziel ist einen barcode zu generieren, der gescannt (oder geklickt) werden kann, und der Artikel dann im WK liegt, genau so wie beim Kaufen Button.
Re: neue smarty für product_info
ok, läuft soweit,
nur ein Problem habe ich, dass ich den Pfad so angeben muss:
Außerdem kann ich den title-tag nicht mit: {$PRODUCTS_NAME} angeben, es wird der Text ausgegeben.
nur ein Problem habe ich, dass ich den Pfad so angeben muss:
Code: Alles auswählen
<?php
function smarty_function_barcode($parms, $smarty) {
global $PHP_SELF;
$barcodephp = 'http://www.domain.de/php-barcode-0.3pl1/barcode.php';
$ean = $parms['ean'];
$id = $parms['id'];
$result = '
<a href="' . xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id=' . $id . '&' . xtc_get_all_get_params(array ('action')), 'NONSSL') . '">
<img src="' . $barcodephp . '?code=' . $ean . '&encoding=EAN&scale=1&mode=png" width="108" height="40" alt="Barcode" title="Mit Barcode bestellen" />
</a>';
return $result;
}
?>
-
- Administrator
- Beiträge: 292
- Registriert: Do 6. Mai 2010, 14:16
- Shop Version: die aktuelle
- Wohnort: Köln
- Kontaktdaten:
Re: neue smarty für product_info
Hi,
Du befindest dich ja jetzt in der Smarty-Funktion "barcode", dort kannst Du nciht mit den Template-Variablen arbeiten da diese nicht interpretiert werden.
Am sinnvollsten ist es den Title-Text ebenfalls an die Funktion zu übergeben (im Template) und diesen dann so wie $ean und $id aus $parms zu nehmen.
Du befindest dich ja jetzt in der Smarty-Funktion "barcode", dort kannst Du nciht mit den Template-Variablen arbeiten da diese nicht interpretiert werden.
Am sinnvollsten ist es den Title-Text ebenfalls an die Funktion zu übergeben (im Template) und diesen dann so wie $ean und $id aus $parms zu nehmen.
Code: Alles auswählen
{barcode ean=$PRODUCTS_EAN id=$PRODUCTS_ID title="$PRODUCTS_NAME"}
Re: neue smarty für product_info
Besser:yogi hat geschrieben:Hi,
Du befindest dich ja jetzt in der Smarty-Funktion "barcode", dort kannst Du nciht mit den Template-Variablen arbeiten da diese nicht interpretiert werden.
Am sinnvollsten ist es den Title-Text ebenfalls an die Funktion zu übergeben (im Template) und diesen dann so wie $ean und $id aus $parms zu nehmen.
Code: Alles auswählen
{barcode ean=$PRODUCTS_EAN id=$PRODUCTS_ID title="$PRODUCTS_NAME"}
Code: Alles auswählen
{barcode ean=$PRODUCTS_EAN id=$PRODUCTS_ID title=$PRODUCTS_NAME}
Re: neue smarty für product_info
danke an Doc und Yogi,
Ich werds mal ausgiebig testen.
ist das eventuell auch eine Erweiterung für den webshop?
Ich werds mal ausgiebig testen.
ist das eventuell auch eine Erweiterung für den webshop?