0

我正在开发一个表达式引擎站点,我正在尝试从两个不同的渠道获取内容,以便根据条件在同一部分显示。

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

为了满足这一需求,我添加了一个带有 NO/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 通道,而在第二个语句中只考虑滑块通道?

谢谢!

4

1 回答 1

3

只需channel_short_name在条件中包含:

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

等等。

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

于 2012-08-02T21:14:32.997 回答