開発者ドキュメントのどこにも見つかりませんが、管理アドオン モジュールの _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>