我在开发者文档中找不到它,但它确实暗示了在admin插件模块的_output函数中我可以调用模板文件。
我该怎么做?我想调用一个模板文件,从模块目录中输出最终结果,以显示我的内容。
WHMCS v5.1.2顺便说一下。
答案 0 :(得分:3)
如果我们在插件模块中使用get_defined_constants()
,我们会看到,例如:
[SMARTY_DIR] => /var/www/vhosts/domain.com/httpdocs/whmcs/includes/smarty/
[SMARTY_CORE_DIR] => /var/www/vhosts/domain.com/httpdocs/whmcs/includes/smarty/internals/
[SMARTY_PHP_PASSTHRU] => 0
[SMARTY_PHP_QUOTE] => 1
[SMARTY_PHP_REMOVE] => 2
[SMARTY_PHP_ALLOW] => 3
含义Smarty已在管理区域初始化。剩下的就是创建我们的模板文件并将它们包含在内(如果你想保持一个聪明的标准,可以在你的插件文件夹的templates
子目录中)。
修改_output
功能的以下内容:
$smarty = new Smarty();
$smarty->assign('myvar', 'World');
$smarty->caching = false;
$smarty->compile_dir = $GLOBALS['templates_compiledir'];
$smarty->display(dirname(__FILE__) . '/templates/mytemplate.tpl');
剩下的就是模板文件mytemplate.tpl
的内容,但是你已经知道了这个部分......
<p>Hello {$myvar}!</p>