【发布时间】:2014-09-08 15:16:42
【问题描述】:
我正在处理一项任务,该任务部分由其他人完成。所以我在数据库中有一些文本,需要将它们添加到现有模板中。问题是,文本包含一些我想显示的变量(它们被提供给模板)。现在我只能看到大括号和里面的变量名,而不是它的值。
PHP:
$var = "{$rest_name} offers good {$cuisine} food.";
$smarty->assign("rest_name", "My Rest");
$smarty->assign("cuisine", "thai");
$smarty->assign("desc", $var);
TPL:
{$desc}
显示{$rest_name} offers good {$cuisine} food.,但我想在那里看到My Rest offers good thai food.。
我无法在 PHP 中执行此操作,因为应用程序的不同部分传递数据,因此只有知道一切的地方就是模板。
如何强制 Smarty 将 PHP 变量呈现为模板的一部分?
【问题讨论】:
-
加载你的小sn-p作为模板做替换然后在你的主模板中包含那个模板我不相信smarty支持你想做的包容性替换虽然阅读它的文档它可能允许子如果您传入一个数组,则模板包含替换。但问题是您的 $var 不在您的主模板中,它只是一个变量(尽管我猜您可以使用 php 替换而不是 smarty 替换)