Отдельный стиль для первого топика [Решено]

Приветствую сообщество LiveStreet!

Обращаюсь к вам и прошу помощи в следующей проблеме.
У меня никак не получается сделать отдельный стиль для первого топика. Например, чтобы у него был другой фон.

1) В файле topic_list.tpl меняю
{foreach from=$aTopics item=oTopic}
на
{foreach name=Topics from=$aTopics item=oTopic}


2) В файле topic_topic.tpl
<div class="topic">
меняю на
<div class="topic {if $smarty.foreach.Topics.first}first{else}all{/if}">


3) Добавляю в topic.css соответствующие стили
.topic.first {background:#CC3197;}
.topic.all {background:#ffffff;}


Но на главной странице почему-то все топики выводятся со стилем
<div class="topic all">


Получается, что условие не выполняется, точнее выполняется {else}

Также тут нашел совет, но его применение по вышеописанному способу также выводит все топики в стиле
<div class="topic all">


Полагаю, что это из-за моих кривых рук разделения шаблонов видов топиков по разным .tpl в версии LS 0.5.1, т.к на 0.4.2 эти манипуляции дают нужный результат.

Заранее благодарен за помощь.

UPD: Решено! Благодарю за помощь пользователя Serge Pustovit aka PSNet

4 комментария

avatar
там инклуд файла идет, другая область видимости.

так что вам нужно в топик_лист.тпл сделать примерно вот так

{include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}


а в топик_топик.тпл

поставить условие
<div class="topic {if $bFirstTopic}first{else}all{/if}">
avatar
It's work! Премного вам благодарен. В профиль не могу, хоть здесь поставлю вам +1
avatar
А зачем нужно выделять первый топик? Какой смысл?
avatar
Хм. Странно. Минус топик огреб. За что?
Топик оформил нормально, без «Аааа!!! ПАМАГИТЕ!!!» прежде чем писать перерыл весь сайт, попробовал сделать сам и уже после, все подробно расписав обратился за помощью к сообществу.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.