如何在tpl文件中调用php函数?

时间:2016-08-03 08:36:55

标签: php function task-parallel-library smarty

我试图在tpl文件中调用php函数:

这是我的功能:

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中调用它?

请帮助我!

3 个答案:

答案 0 :(得分:0)

似乎为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}

答案 1 :(得分:0)

试试这个:

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}

答案 2 :(得分:0)

请说明您正在使用的框架!如果 - 虽然 - 你在drupal框架中工作,你可以为其中的任何tpl文件执行php代码,并在template.php文件中执行相应的预处理功能。