Я пытаюсь вызвать функцию php внутри файла tpl:
вот моя функция:
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))));
}
Как я могу позвонить из TPL?
Пожалуйста, помогите мне!
Похоже, создание собственного модификатора для Smarty это хороший выбор.
http://www.smarty.net/docs/en/plugins.modifiers.tpl
Или вы можете окружить вызов функции тегами {php} {/ php}. http://www.smarty.net/docs/en/language.function.php.tpl
{php}encrypt($tag){/php}
Попробуй это:
Smarty / ЛИЭС / плагины / 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:
{$foo|tag}
Пожалуйста, дайте понять, в каких рамках вы работаете! если — хотя — вы работаете в инфраструктуре drupal, вы можете сделать php-код для любого файла tpl в соответствующей функции предварительной обработки в файле template.php.