2016-08-03 57 views
-1

Ich versuche, eine PHP-Funktion in einer tpl-Datei aufzurufen:Wie kann ich eine PHP-Funktion in einer TPL-Datei aufrufen?

hier ist meine Funktion:

public function encrypt($tag){ 
    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SALT, $tag, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); 
} 

Wie kann ich es von einem tpl nennen?

Bitte helfen Sie mir!

+2

Seit Sie eine 'public' Sichtbarkeit haben, ist diese Methode Teil einer Klasse? – NDM

+0

Ja, diese Methode ist Teil einer Klasse –

Antwort

0

Try this:

Smarty/libs/plugins/modifier.tag.php:

<?php 
function smarty_modifier_tag($tag) 
{ 
    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SALT, $tag, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); 
} 
?> 

Smarty-Datei:

{$foo|tag} 
+0

Ich erstelle ein Plugin für Prestashop in PHP und Smarty wird automatisch geladen! also kann ich nicht auf smarty/libs/plugins/modifier.tag.php zugreifen –

+0

Tut mir leid, ich bin nicht vertraut mit Prestashop. Versuchen Sie, modifier.tag.php in Tools \ smarty \ plugins \ Ordner zu erstellen – Peca

0

Bitte machen deutlich, welchen Rahmen Du arbeitest darin! Wenn - obwohl - Sie in Drupal Framework arbeiten, können Sie PHP-Code für jede TPL-Datei in seiner jeweiligen Vorverarbeitungsfunktion in der template.php-Datei tun.

+0

Ich erstelle ein Plugin für Prestashop in PHP und Smarty ist automatisch geladen! –