2012-07-10 62 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答案)