Jump to content
xt:Commerce Community Forum

Zugriff auf Smarty Variable in eigenem Plugin


Recommended Posts

Hallo,

ich baue gerade ein eigenes Plugin. Das passt soweit das ich normale Ausgaben erhalte. Die Ausgabeanweisungen stehen in einer sep. Datei "function...php" welche ich über einen Hook aufrufe.

Also im HTML steht mein Hook:

{hook key=print_myblabla}

Und dieser Hook ruft dann meine Funktion auf

		<hook>print_myblabla</hook>

		<phpcode><![CDATA[

		include _SRV_WEB_PLUGINS.'pk_blabla/functions/function.pk_blabla.php';

		]]>

		</phpcode>
Die Funktion function.pk.blabla.php:
<?php 

echo "Hallo Welt"

?>
Jetzt würde ich in meiner PHP Funktionsdatei aber auch gerne auf Smartyvariablen wie z.B. den Produktnamen zugreifen wollen. Wie kann man das anstellen? Den Produktnamen selbst erhalte ich durch nen PHP Schnippsel in meiner HTML Datei einfach:
				

			{php}

			$php_variable = $this->get_template_vars('products_name');

			echo $php_variable;		

			{/php}  

Das muss doch auch in meiner ext. Funktion machbar sein?!

Link to comment
Share on other sites

  • 3 years later...

Ist zwar schon etwas her deine Anfrage, aber hier meine Lösung um im "Hookcode" mit den Smartyvariablen zu arbeiten.


// Variablen im Code verfügbar machen
foreach($smarty->_tpl_vars as $key => $value)
${$key} = $value;

echo "(".$products_name.")";[/PHP]

Im Tempalte selber ist die Smarty-Klasse als Objekt ($smarty) verfügbar und damit kann gearbeitet werden. Einfach am Anfang eines Smarty Hooks die Foreachschleife ausführen und dann sollte man alle smarty-Variablen die zu dem Zeitpunkt des Hooks verfügbar sind - in PHP verwendbar sein. Ein direkter Zugriff ist mit

[PHP]
$produkt_name = $smarty->_tpl_vars["products_name"];[/PHP]

möglich. Da nun schon ewig viel Zeit seit dem Post des TA's vergangen ist - dient das hier nun der Nachwelt ;)

Gruß

Das Nu

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...