4

チャンネルに1.エントリがあるかどうかを判断する、条件付きのチャネル外エントリタグがあります。2。期限切れのエントリ、3。閉じたエントリ:試し{if channel_short_name == "news"} ましたが、エントリが閉じているか期限切れであるかに関係なく、ラップされたコンテンツが返されます。条件付きがチャネルタグの外側にある理由は、h2タグを繰り返したくないためです。

{if there are a displayable entries in the "news" channel, display this whole package.}
   <h2>News</h2>
   <hr />
   {exp:channel:entries channel="news" limit="2"}
      <div class="entry panel">
         <h3>{title}</h3>
         {news_text}
         {if news_full OR news_bild}
            <div id="{entry_id}" class="toggleDiv">
               {news_full}
               {exp:ce_img:single src="{news_bild}" max_width="346" smart_scale="yes" alt="{name_orig}"}
            </div>
            <p><a class="show_hide" rel="#{entry_id}" href="#">Mehr…&lt;/a></p>
        {/if}
      </div>
   {/exp:channel:entries}
{/if}

これは私に別の質問をもたらします:

期限切れのエントリを「クローズ」に設定することはできますか?

4

2 に答える 2

8

最も簡単なオプションは、ヘッダーマークアップを、最初のエントリでのみ表示される条件に移動することです。結果がない場合、{exp:channel:entries}タグは出力を生成しません。

{exp:channel:entries channel="news" limit="2"}
    {if count == '1'}
        <h2>News</h2>
        <hr />
    {/if}
    <div class="entry panel">
        <h3>{title}</h3>
        {news_text}
        {if news_full OR news_bild}
            <div id="{entry_id}" class="toggleDiv">
                {news_full}
                {exp:ce_img:single src="{news_bild}" max_width="346" smart_scale="yes" alt="{name_orig}"}
            </div>
            <p><a class="show_hide" rel="#{entry_id}" href="#">Mehr…&lt;/a></p>
      {/if}
    </div>
{/exp:channel:entries}

期限切れのエントリを閉じたい特別な理由はありますか?期限切れのエントリをすべて使用していない限り、show_expired = 'yes'とにかく閉じられているかのように動作します。

于 2012-11-02T13:46:08.660 に答える
2

また、ループの最後でも条件付きマークアップが必要な場合は、を実行できます{if count == total_results}

于 2012-11-02T23:07:22.887 に答える