2

別の画像を表示するために、テンプレート .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 %>

もちろん、上記のコードは機能しません。どうすればいいのですか?それを行うためのより効率的な方法はありますか?

どうもありがとう。
マウロ

4

3 に答える 3

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 の回答を参照)。

于 2012-07-13T11:14:08.500 に答える
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 %>

banal に感謝: http://www.silverstripe.org/themes-2/show/11325

于 2012-07-12T15:17:32.967 に答える
0

あなたがsilverstripe 2.4を使用していると仮定します:

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

値を引用符で囲まないように注意してください (「bio」ではなく「bio」)。
私は以下も有効であると仮定しました:

<% if SiteConfig.Title = bio %>

しかし、何らかの理由で機能しません-これについてはわかりません。

于 2012-07-11T07:55:43.097 に答える