如何在 WHMCS 的 smarty 中分配数组

How to assign array in smarty in WHMCS

在我的 WHMCS 中,我试图在其中一个 .tpl 文件中创建数组。

{php}
  $uk_tlds = array(".co.uk",".me.uk",".org.uk",".uk",".london");
  $this->assign('uk_tlds',$uk_tlds);
{/php}

{foreach from=$uk_tlds key=num item=listtld}
    <input type="checkbox" name="tlds[]" value="{$listtld}"{if in_array($listtld,$tlds) || !$tlds && $num==1} checked{/if}>{$listtld}
{/foreach}

我宁愿尽可能避免使用 {php}。

编辑: 我发现 {php} 已从新版本 Smarty

中弃用

有什么方法可以使它再次工作吗?

非常简单,您根本不需要 {php}(事实上,您不应该在 smarty 模板文件中使用 php):

{$uk_tlds=[".co.uk",".me.uk",".org.uk",".uk",".london"]}

我进行了更多研究并找到了解决问题的方法。 这对我有用,也可能对升级到新版本后寻找快速解决方案的其他人有用,但最好避免 {php} 这就是 Borgtex 解决方案最有效的原因。

解决方法: WHMCS Version 6 Template MigrationGuide

1) 在 WHMCS 安全设置中启用 {php}

2) $this->在新版本中变为$template->