Page 1 of 1

Можно ли в smarty переменной присвоить значение модуля?

Posted: Tue Nov 17, 2015 3:13 pm
by Rik
Доброго времени суток всем.

Задача такая нужно посчитать количество анонсов, присвоить это значение переменной, проверить переменную, если она больше 0 то вывести эти анонсы в соответствующей html обертке, иначе ничего не выводить.

{assign var=count_news value="{news category='Анонсы' count_news='1'}"}
// {news category='Анонсы' count_news='1'} - считает количество анонсов выводить число 0, 1, 25 и т.д.
{if count_news}
<div class="tile">
Анонсы
</div>
<div class="list">
<div class="anonsy">
{news category="Анонсы" summarytemplate='my_left'}
</div>
</div>
{/if}

Возможно ли выполнить что-то подобное?
{assign var=count_news value="{news category='Анонсы' count_news='1'}"}

Или обертку
<div class="tile">
Анонсы
</div>
<div class="list">
<div class="anonsy">
...
</div>
</div>
добавить в темплейт my_left назвать его my_left1 и вызывать только {news category="Анонсы" summarytemplate='my_left1'}?

Спасибо.

Re: Можно ли в smarty переменной присвоить значение модуля?

Posted: Wed Nov 18, 2015 12:56 pm
by guro
А почему вы не хотите засунуть свою обёртку в шаблон my_left? И имменно в этом шаблоне проверять наличие новостей.

Code: Select all

{if count($items)}
<div class="tile">Анонсы</div>
<div class="list">
 <div class="anonsy">
  {foreach from=$items item=entry}
   ...
  {/foreach}
 </div>
</div>
{/if}

Re: Можно ли в smarty переменной присвоить значение модуля?

Posted: Thu Nov 19, 2015 5:31 am
by Rik
Спасибо.

Так и сделаю.
Просто шаблон my_left используется несколько раз и я думал можно его обернуть и продолжать использовать. Но раз так не получится, сделаю еще один шаблон.