2012-08-02 73 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