0

Expression Engine サイトで作業しており、2 つの異なるチャネルからコンテンツを取得して、条件に基づいて同じセクションに表示しようとしています。

ホームページには、さまざまなコンテンツにリンクするスライダーがあります。このためのチャネルを 4 つのフィールドで作成しました。記事セクションには独立したコンテンツがありますが、ホームページのスライダーで強調表示する必要がある場合があります.

このニーズを満たすために、NO/YES オプションを指定して「スライダーに表示」フィールドを追加し、その後にスライダー コンテンツと同様のコンテンツを保持するが、一意の名前を持つフィールドを追加しました。

ここに課題があります。「スライダーに表示」フィールドが YES に設定されているエントリのみを表示する条件をどのように記述すればよいでしょうか。次のコードには 1 つの欠陥があります。if:else オプションの条件を満たしているため、「スライダーに表示」が NO に設定されているエントリのコンテンツの一部が引き続き表示されます。

コードは次のとおりです。

<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 チャネルのみが考慮され、2 番目の if ステートメントでスライダー チャネルのみが考慮されるように、条件を変更するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

3

条件に含めるだけchannel_short_nameです:

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

等。

search:display_in_slider="YES"Channel Entries タグに追加することもできます...channelパラメーターの 2 つのチャネルでどのように機能するかわかりません (EE は、そのフィールドが「スライダー」チャネルにないことを確認し、パラメーターを無視するか、またはそのチャネルのすべてのエントリが完全に省略される可能性があります) が、試してみる価値はあります。

于 2012-08-02T21:14:32.997 に答える