PHP 在 Smarty .conf 文本文件中使用定义的全局变量

PHP use defined globals within Smarty .conf text file

我在基于 php 的网店中设置了全局变量 (STORE_PHONE_PICKUP_TIMES)。问题是如下所述使用它。 测试了几个选项,通过 .conf 文件将 php 全局变量放入 .html 文件。但是没有成功。

赞:

define('STORE_PHONE_PICKUP_TIMES', '10:00-17:00');

file_name: shop_content.conf

[shop_content]
phone_pickup =  We are daily present at: {php} echo STORE_PHONE_PICKUP_TIMES{/php}

file_name: shop_content.html

<p>{#phone_pickup#}</p>

结果是:我们每天出现在:{php} echo STORE_PHONE_PICKUP_TIMES{/php}

如何使用上述设置将此 GLOBAL 放入 .conf 文件中。

无法在 smarty 配置中使用 php。这很好,因为它迫使您在您的应用程序中使用更好的逻辑 ;)

我建议在模板中使用全局变量:

<p>{#phone_pickup#} {$smarty.const.STORE_PHONE_PICKUP_TIMES}</p>

仅在配置中存储取件时间,这是放置它的好地方(并且与语言字符串分开):

phone_pickup_hours = '10:00-17:00' phone_pickup = 'We are daily present at:'

现在,在 tpl 中很容易:<p>{#phone_pickup#} {#phone_pickup_hours#}</p> 但我假设你使用 define 因为你在其他地方使用这个常量,例如在控制器层所以..在 php 你可以像这样使用配置变量:

$pickup_hours = $smarty->getConfigVars('phone_pickup_hours');