Expression Engine - 如何根据自定义字段内容显示内容?
问题描述:
我正在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语句,只有滑杆通道在第二个考虑?
谢谢!
答
就包括在有条件的channel_short_name
:
{if channel_short_name == "garden_advice" && display_in_slider == "YES"}
等等
您也可以尝试加入search:display_in_slider="YES"
自己的频道项标签...我不知道如何将两个工作(EE可能会看到该字段不在“滑块”通道中,只是忽略该参数,或者可能完全忽略该通道的所有条目),但它值得一试。
嗨德里克,我总是感谢你的建议。我尝试了上面的内容,并且稍微调整了一下就可以使其工作。实际上我最终将两个条件分解为两个。这是channel_short_name使所有不同。给你的帽子。 – fmz 2012-08-02 22:16:17
很高兴您对它进行了排序,很高兴为您提供帮助。 – 2012-08-03 01:41:39