4

我在开发人员文档中的任何地方都找不到它,但它确实暗示了在管理插件模块的 _output 函数中我可以调用模板文件的事实。

我该怎么做呢?我想调用一个模板文件以从模块目录中进行最终输出,以在其中显示我的内容。

顺便说一句,WHMCS v5.1.2。

4

1 回答 1

5

如果我们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>
于 2013-03-05T14:37:16.810 回答