我在开发人员文档中找不到它,但它确实暗示了这样一个事实:在管理插件模块的 _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
Run Code Online (Sandbox Code Playgroud)
意味着 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');
Run Code Online (Sandbox Code Playgroud)
剩下的就是模板文件的内容mytemplate.tpl,但您已经知道这部分了......
<p>Hello {$myvar}!</p>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2469 次 |
| 最近记录: |