我在开发人员文档中的任何地方都找不到它,但它确实暗示了在管理插件模块的 _output 函数中我可以调用模板文件的事实。
我该怎么做呢?我想调用一个模板文件以从模块目录中进行最终输出,以在其中显示我的内容。
顺便说一句,WHMCS v5.1.2。
如果我们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>