【发布时间】:2014-11-17 21:29:00
【问题描述】:
你好,
我在 silverstripe 中创建一个单页网站,并创建了一些模板来代表我的不同网站部分。
我首先尝试使用'include'进行循环:
<% if SlugItems %>
<% loop SlugItems %>
<% include $slug %>
<% end_loop %>
<% end_if %>
但从我在论坛上发现的情况来看,这不是这样做的方法,并且我收到了一个错误,缺少循环标记...所以我尝试创建一个函数
public function IncludeTemplate($template) {
return $this->renderWith($template);
}
和
<% if SlugItems %>
<% loop SlugItems %>
<% IncludeTemplate($Slug) %>
<% end_loop %>
<% end_if %>
大惊喜...它是一样的,因为我读到 include 和 renderWith 都做同样的工作。 好吧,我真的不知道一个好的解决方案,如果我的模板名称像 X,我想实现比包含一些模板更复杂的东西,例如。
<% if $ClassName = 'SomeClass' %>
<% include SomeClass %>
<% else_if $ClassName = 'SomeOtherClass' %>
<% include SomeOtherClass %>
<% else %>
<% include DefaultClass %>
<% end_if %>
如果你知道一个好的解决方案,请写在这里!那会让我很开心:D。
谢谢, 托马斯
【问题讨论】:
标签: php content-management-system silverstripe