如何在tpl文件中调用php函数?
我试图调用一个TPL文件内PHP函数:如何在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))));
}
我怎样才能把它从第三方物流?
请帮帮我!
似乎为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}
试试这个:
智者/库/插件/ 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}
我在PHP中创建一个prestashop的插件,smarty是自动加载的!所以我不能访问smarty/libs/plugins/modifier.tag.php –
对不起,我不熟悉prestashop。尝试在tools \ smarty \ plugins \文件夹中创建modifier.tag.php – Peca
请说清楚什么框架你在工作!如果 - 虽然 - 你在drupal框架中工作,你可以在template.php文件中的相应预处理函数中为任何tpl文件执行php代码。
我正在为PHP中的prestashop创建一个插件,而且smarty是自动加载的! –
因为你有一个'public'可见性,这个方法是类的一部分吗? – NDM
是的这种方法是类的一部分 –