Снижаем нагрузку. Учимся пользоватся count + if statement

Статус
В этой теме нельзя размещать новые ответы.

[/root.]

Он самый
Регистрация
20 Май 2006
Сообщения
370
Реакции
70
При создании проекта на ExpressionEngine наверное практически у каждого возникало ощущение, что некоторые моменты можно реализовать более элегантно и менее ресурсоемко. Особенно это касалось вывода новостей из одной категории, которые находятся недалеко друг от друга (например в одном столбце), но которых разделяет графическое оформление. Следовательно многие начинающие и не очень EE мейкеры воткнули бы еще один {exp:weblog:entries}. Данная заметка (статья?) позволяет предотвратить данное действие со всеми вытекающими.

Пример. Было:
<div class='inner'>
<a href='/'><img src='*_*.jpg'></a>
<h3><a href='/'>Запись</a></h3>
<h4 class='by'>Author: Мистер Ктулху</h4>
<p class='announce'><a href='/'>Атомная бомба снова взорволась на кухне</a></p>

<dl class='other'>
<dt><a href='/'>Запись 2</a></dt>
<dd>Autor: Ктулху не мистер</dd>
</dl>
</div>

Легкий и неинтересный путь:
<div class='inner'>
{exp:weblog:entries weblog='project' category='86' limit='1' sort='asc' disable='trackbacks' rdf='off'}
{if smallThumb}<a href='{url_title_path=stories}'>{smallThumb}</a>{/if}
<h3><a href='{url_title_path=stories}'>{title}</a></h3>
{if copyrights}<h4 class='by'>Author: {copyrights}</h4>{/if}
<p class='announce'><a href='{url_title_path=stories}'>{summary}</a></p>
{/exp:weblog:entries}

<dl class='other'>
{exp:weblog:entries weblog='project' category='86' limit='3' sort='asc' disable='trackbacks' rdf='off'}
<dt><a href='{url_title_path=stories}'>{title}</a></dt>
{if copyrights}<dd>Author: {copyrights}</dd>{/if}
{/exp:weblog:entries}
</dl>
</div>

Шикарный вариант *_*:
<div class='inner'>
{exp:weblog:entries weblog='project' category='not 13|20|30|85|86' limit='4' sort='desc' disable='trackbacks' rdf='off'}
{if count == '1'}
{if smallThumb}<a href='{url_title_path=stories}'>{smallThumb}</a>{/if}
<h3><a href='{url_title_path=stories}'>{title}</a></h3>
{if copyrights}<h4 class='by'>Author: {copyrights}</h4>{/if}
<p class='announce'><a href='{url_title_path=stories}'>{summary}</a></p>

<dl class='other'>
{/if}
{if count > '1'}
<dt><a href='{url_title_path=stories}'>{title}</a></dt>
{if copyrights}<dd>Author: {copyrights}</dd>{/if}
{/if}
{/exp:weblog:entries}
</dl>
</div>


Поясню на другом более простом примере.
Есть два пряника. Свежий и несвежий. Нужно подарить их другу. Следовательно показываем:

{открываем:тему:пряников}
{if пряник == 'свежий'}
Вот тебе свежий пряник + Любой другой текст который не должен мешать (отображатся).
{/if}

{if пряник > 'свежий'}
Вот тебе пряник оставшийся, который несвежий.
{/if}
{/закрываем:тему:пряников}
Остаток = то, что не должно быть в обороте (закрывающий тег или еще что-то).

P.S Кушать хочу. Ох уж эти пряники.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху