Expression Engine - 如何根据自定义字段内容显示内容?

时间:2012-08-02 19:35:04

标签: expressionengine

我正在使用Expression Engine网站,我正在尝试从两个不同的渠道获取内容,以便根据条件在同一部分中显示。

主页有一个链接到各种内容的滑块。我用四个字段为此创建了一个频道。文章部分有独立的内容,但有时需要在主页的滑块中突出显示。

为了满足这一需求,我添加了一个“滑块显示”字段,其中包含NO / YES选项,后跟保存内容类似于滑块内容但具有唯一名称的字段。

以下是挑战:如何编写条件以仅显示“滑块中显示”字段设置为YES的条目。以下代码有一个缺陷:它仍然显示“滑块中的显示”设置为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 --> 

我的问题是:如何修改条件,以便在第一个if语句中仅考虑garden_advice通道,而在第二个if语句中只考虑滑块通道?

谢谢!

1 个答案:

答案 0 :(得分:3)

只需在条件中包含channel_short_name

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

您还可以尝试将search:display_in_slider="YES"添加到您的频道条目标记中...我不确定这对channel参数中的两个频道有何影响(EE可能会看到该字段不是在“滑块”频道中只是忽略该参数,或者它可能完全忽略所有频道的条目,但它值得一试。