Как реализовать циклический пересчет топиков без превью? [решено]
Бьюсь уже пол дня и не могу сообразить как реализовать следующее: в списке топиков выводятся топики с превьюшками, для тех топиков, у которых нет превью, вместо него выводится изображение. Для разнообразия решил выводить 4-е картинки поочереди. Т.е. для первого топика без превью загружается первое изображение, для второго (но не второго по счету!) — второе и т.д. После четвертого отсчет опять начинается с первого.
Вот для наглядности кусок кода:
Необходимо чтобы вместо counter было 1, 2, 3, 4, 1, 2, 3…
Пробовал и счетчики всовывать и foreach задействовать, но чет не выходит.
PS: Решение в комменте.
Вот для наглядности кусок кода:
{foreach from=$aTopics item=oTopic name=foo} <article class="topic topic-lg-preview topic-type-{$oTopic->getType()} js-topic"> {if $oTopic->getPreviewImageWebPath()} <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{$oTopic->getPreviewImageWebPath({cfg name='topic.lg_preview.img_size'})}"></a> {else} <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{cfg name="path.static.skin"}/images/thumb-bg/bg-sm-counter.png"></a> {/if} </article> {/foreach}
Необходимо чтобы вместо counter было 1, 2, 3, 4, 1, 2, 3…
Пробовал и счетчики всовывать и foreach задействовать, но чет не выходит.
PS: Решение в комменте.
17 комментариев
$oTopic@index
— индекс элемента из цикла по$aTopics
, начинается с0
, кроме того есть ещё, например,iteration
, он начинается с1
,first
— первый ли элемент в цикле,last
— последний ли.%4
— остаток от деления на4
+1
— добавление чтобы начиналось от1
до4
.формировать переменную
$counter
там, где цикл, и передавать её значение в инклуд.$oTopic@index
только рядом с циклом (в том же файле).topic_thumb.tpl оставил:
… К похожему решению шел с утра, но про разные файлы как-то не подумал. :(
В topic_list.tpl у мненя следующее:
и в topic_thumb.tpl реализуется вывод превью:
Если прописываю
как указали, $counter постоянно равен единице, если вынести код в topic_list.tp:
то, естественно, пересчитывает все топики, с превью и без. Отсюда делаю вывод, что дело все же в разных файлах. Как можно в таком случае выкрутится?
А вот вариант с простым счетчиком работает. Спасибо за помощь!