2012-07-10 146 views
2

我想检入模板.ss文件 - 页面名称或标题以显示不同的图像。我想这样做:.slverstripe检查页面名称.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

假设你在silverstripe 2.4:

<% control SiteConfig %> 
    <% if Title = video %> 
    video 
    <% else_if Title = bio %> 
    bio 
    <% end_if %> 
<% end_control %> 

记不要把周围的值引号(生物,而不是 '生物')。
我认为以下是有效的太:

<% if SiteConfig.Title = bio %> 

但由于某种原因,这是行不通的 - 不知道这件事。

+0

感谢您的。它不会给出任何错误,但它不会返回任何内容。如果条件满足,它应该显示的HTML就不存在了。是的,我在SS 2.4上。任何想法为什么? – Mauro74 2012-07-11 10:10:58

+0

确定您在CMS的标题字段中放置了相应的值(例如,没有添加空白)?在网址中添加'?flush = All'? – schellmax 2012-07-11 10:36:32

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 %> 

由于在平庸:http://www.silverstripe.org/themes-2/show/11325

6

如果你要检查它THROU标题中使用$标题(不SiteConfig控制器)?

<% if $Title == 'video' %> 
    <img src="themes/blackcandy/images/image.jpg" /> 
<% else if $Title == 'bio' %> 
    <img src="themes/blackcandy/images/image1.jpg" /> 
<% end_if %> 

如果你想检查网页类型使用类名

<% if ClassName = PageType1 %> 
    <img src="themes/blackcandy/images/image1.jpg" /> 
<% end_if %> 

如果你想检查THROU URL中使用UrlSegment(见Clints答案)