Templates .ss文件中的SIlverstripe检查页面名称
我想在template.ss文件中检查页面名称或标题,以便显示不同的图像。我想这样做:Templates .ss文件中的SIlverstripe检查页面名称,templates,silverstripe,Templates,Silverstripe,我想在template.ss文件中检查页面名称或标题,以便显示不同的图像。我想这样做: <% if $SiteConfig.Title == 'video' %> <img src="themes/blackcandy/images/image.jpg" /> <% else if $SiteConfig.Title == 'bio' %> <img src="themes/blackcandy/images/image1.jpg" /
<% 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 %>
...
...
上面的代码当然不起作用。我该怎么做?有没有更有效的方法
非常感谢。Mauro假设您使用的是silverstripe 2.4:
<% control SiteConfig %>
<% if Title = video %>
video
<% else_if Title = bio %>
bio
<% end_if %>
<% end_control %>
视频
生物
注意不要在值周围加引号(bio而不是“bio”)。我认为以下内容也是有效的:
<% if SiteConfig.Title = bio %>
但由于某些原因,它不起作用-对此不确定。最好使用URLSEMENT
<% 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 %>
感谢陈词滥调:如果您想通过标题检查它,请使用$title(不带SiteConfig控制器)
如果要检查页面类型,请使用ClassName
<% if ClassName = PageType1 %>
<img src="themes/blackcandy/images/image1.jpg" />
<% end_if %>
如果您想通过Url检查,请使用URLSEMENT(请参阅Clints答案)谢谢。它不会给出任何错误,但也不会返回任何内容。如果条件满足,它应该显示的HTML就不存在了。是的,我在SS2.4上。知道为什么吗?确定你在CMS的标题字段中输入了相应的值(例如,没有添加空格)?在url中添加了“?flush=All”?
<% if ClassName = PageType1 %>
<img src="themes/blackcandy/images/image1.jpg" />
<% end_if %>