在 SMARTY 3 中的包含模板上使用 :default 作为文件名
尽管我认为这个问题没有达到应有的水平,但让我尝试在这里更好地解释一下。
我有一个使用 SMARTY 3 作为模板系统的网站。我有一个类似于下面的模板结构:
/templates/place1/inner_a.tpl
/templates/place1/inner_b.tpl
/templates/place2/inner_b.tpl
/templates/place2/inner_c.tpl
/templates/default/inner_a.tpl
/templates/default/inner_b.tpl
/templates/default/inner_c.tpl
包含在父模板中
{include file="{$temp_folder}/{$inner_template}"}
这些模板使用“到目前为止很棒” 。我想做的是有一个默认值,如果文件 {$temp_folder}/{$inner_template}
不存在,它会使用 default/{$ 处的等效文件内部模板}
。
即如果我这样做 {include file="place1/inner_c.tpl"}
,因为该文件不存在,所以它实际上包含“default/inner_c.tpl”
这可能吗?
Although I don't think the question was as good as it could be, let me try to explain better here.
I have a site using SMARTY 3 as the template system. I have a template structure similar to the below one:
/templates/place1/inner_a.tpl
/templates/place1/inner_b.tpl
/templates/place2/inner_b.tpl
/templates/place2/inner_c.tpl
/templates/default/inner_a.tpl
/templates/default/inner_b.tpl
/templates/default/inner_c.tpl
These are getting included on the parent template using
{include file="{$temp_folder}/{$inner_template}"}
So far great. What I wanted to do is having a default for, in the case that the file {$temp_folder}/{$inner_template}
does not exists, it uses the equivalent file at default/{$inner_template}
.
i.e. If I do {include file="place1/inner_c.tpl"}
, since that file does not exists it in fact includes "default/inner_c.tpl"
Is it possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你必须在 php 中完成它,smarty 没有办法检查文件是否存在。
您也可以编写自己的模板处理程序。
You'll have to do it in php, smarty doesn't have a way to check if a file exists.
You could write your own template handler too.