Как я могу использовать условное выражение для проверки наличия в канале каких-либо записей?
У меня есть тег Условные записи за пределами канала, который должен определить, имеет ли канал 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…</a></p>
{/if}
</div>
{/exp:channel:entries}
{/if}
Это подводит меня к другому вопросу:
Можно ли установить просроченные записи на "закрытые"?
2 ответа
Самый простой вариант - переместить разметку заголовка в условное выражение, которое отображается только с первой записью. Если нет результатов, то {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…</a></p>
{/if}
</div>
{/exp:channel:entries}
Есть ли какая-то конкретная причина, почему вы хотите закрыть просроченные записи? Если вы не используете show_expired = 'yes'
все просроченные записи будут вести себя так, как будто они все равно закрыты.
И если вам нужна условная разметка в конце цикла, вы можете сделать {if count == total_results}
,