【发布时间】:2014-09-30 14:03:34
【问题描述】:
我从MySQL 数据库中获取字符串。示例字符串:
'
{something}Lorem ipsum{/something} dolor sit amet, consectetur adipiscing elit.
Scrupulum, inquam, abeunti;
{blablabla}Illa tamen simplicia{blablabla}, vestra versuta.
Non semper, inquam; Sed mehercule pergrata mihi oratio tua.
Stoici scilicet. Scrupulum, inquam, abeunti;
'
在 php 中,我将字符串分配给 Smarty 变量,如下所示:
$smarty->assign('homePageText', $string);
现在,我希望能够在模板中做这样的事情:
{$homePageText}
{something}
<a href="http://www.domain.com/" class="foo">{$}</a>
{/something}
{blablabla}
<b class="bar"><i>{$}</i></b>
{/blablabla}
{/$homePageText}
所以字符串会变成这样:
'
<a href="http://www.domain.com/" class="foo">Lorem ipsum</a> dolor sit amet, consectetur adipiscing elit.
Scrupulum, inquam, abeunti;
<b class="bar"><i>Illa tamen simplicia</i></b>, vestra versuta.
Non semper, inquam; Sed mehercule pergrata mihi oratio tua.
Stoici scilicet. Scrupulum, inquam, abeunti;
'
这样您就可以在 Smarty 模板中的变量部分周围放置标签。 Smarty 3.0中是否已经有这样的功能?或者我怎样才能在 php 5.4 中将它构建到 smarty 中?我希望模板中的 php 代码尽可能少。此外,{something}<tag>{$}</tag>{/something} 部分不应在 php 文件中,因为每页会有多个模板
【问题讨论】:
-
很不清楚你想从这个问题中实现什么。请详细说明。
$smarty->assign('homePageText');也不正确,因为您没有在此处设置任何值。 -
您可以将自定义模板资源 (smarty.net/docs/en/resources.custom.tpl) 与模板继承 (smarty.net/inheritance) 结合使用