2012-08-02 64 views
0

我正在Expression Engine網站上工作,我試圖從兩個不同的渠道獲取內容,以根據條件顯示在同一部分中。Expression Engine - 如何根據自定義字段內容顯示內容?

主頁有一個鏈接到各種內容的滑塊。我用四個字段爲此創建了一個頻道。文章部分有獨立的內容,但有時需要在主頁上的滑塊中突出顯示。

爲了滿足這個需求,我添加了一個「在滑塊中顯示」字段,其中有一個NO/YES選項,後面跟着內容類似於滑塊內容但帶有唯一名稱的字段。

以下是挑戰:我如何編寫條件以僅顯示「滑動顯示」字段設置爲「是」的條目。下面的代碼有一個缺陷:它仍然顯示「display in slider」設置爲NO的條目中的部分內容,因爲它符合if:else選項的條件。

下面是代碼:

<div id="slider"> 
{exp:channel:entries channel="slider|garden_advice" disable="categories|category_fields|member_data|pagination"} 
{if display_in_slider == "YES"} 
<div class="slider-content">  
<div class="slider-image"> 
<img src="{slider_photo_ga}" alt="{title}" > 
</div> 
<h3>{title}</h3> 
<span class="sub-title">{sub_title_ga}</span> 
<p>{slider_text_ga}</p> 
<div class="link-box"> 
<a href="{site_url}garden-advice/article/{url_title}">{link_text_ga}</a> 
</div> 
</div><!-- end .slider-content --> 
{if:else} 
<div class="slider-content">  
<div class="slider-image"> 
<img src="{slider_photo}" alt="{title}" > 
</div> 
<h3>{title}</h3> 
<span class="sub-title">{sub_title}</span> 
<p>{slider_text}</p> 

{if entry_id != 5014} 
<div class="link-box"> 
{link_text} 
</div> 
{if:else} 
{link_text} 
{/if} 
</div><!-- end .slider-content --> 
{/if} 
{/exp:channel:entries} 
</div><!-- end .slider --> 

我的問題是:我怎麼可以修改條件,使得只有garden_advice通道在第一考慮的if語句,只有滑桿通道在第二個考慮?

謝謝!

回答

3

就包括在有條件的channel_short_name

{if channel_short_name == "garden_advice" && display_in_slider == "YES"} 

等等

您也可以嘗試加入search:display_in_slider="YES"自己的頻道項標籤...我不知道如何將兩個工作(EE可能會看到該字段不在「滑塊」通道中,只是忽略該參數,或者可能完全忽略該通道的所有條目),但它值得一試。

+0

嗨德里克,我總是感謝你的建議。我嘗試了上面的內容,並且稍微調整了一下就可以使其工作。實際上我最終將兩個條件分解爲兩個。這是channel_short_name使所有不同。給你的帽子。 – fmz 2012-08-02 22:16:17

+0

很高興您對它進行了排序,很高興爲您提供幫助。 – 2012-08-03 01:41:39