我想检查模板.ss文件 - 页面名称或标题以显示不同的图像。我想做那样的事情:
<% if $SiteConfig.Title == 'video' %>
<img src="themes/blackcandy/images/image.jpg" />
<% else if $SiteConfig.Title == 'bio' %>
<img src="themes/blackcandy/images/image1.jpg" />
...
...
<% end_if %>
上面的代码当然不起作用。我该怎么做?有没有更有效的方法呢?
非常感谢。
莫罗
答案 0 :(得分:6)
如果你想通过标题检查它使用$ Title(没有SiteConfig控制器)?
<% if $Title == 'video' %>
<img src="themes/blackcandy/images/image.jpg" />
<% else if $Title == 'bio' %>
<img src="themes/blackcandy/images/image1.jpg" />
<% end_if %>
如果要检查PageType,请使用ClassName
<% if ClassName = PageType1 %>
<img src="themes/blackcandy/images/image1.jpg" />
<% end_if %>
如果您想通过Url检查UrlSegment(请参阅Clints answer)
答案 1 :(得分:2)
最好使用URLSegment。
<% if URLSegment = video %>
<img src="themes/blackcandy/images/video-image.jpg" />
<% else_if URLSegment = bio %>
<img src="themes/blackcandy/images/bio-image.jpg" />
<% end_if %>
答案 2 :(得分:0)
假设您正在使用silverstripe 2.4:
<% control SiteConfig %>
<% if Title = video %>
video
<% else_if Title = bio %>
bio
<% end_if %>
<% end_control %>
请注意不要在值周围加上引号(生物而不是'生物') 我认为以下内容也是有效的:
<% if SiteConfig.Title = bio %>
但由于某种原因它不起作用 - 不确定这一点。