Последний топик [РЕШЕНО]

Задача: отобразить ТОЛЬКО последний опубликованный топик.

Реализация:
1. В topic_list.tpl нужно привести код к следующему виду:
{if count($aTopics)>0}
        {foreach name=Topics from=$aTopics item=oTopic}  
           {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
           {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
        {/foreach}      
        
    {include file='paging.tpl' aPaging="$aPaging"}                      
{else}
        <div class="padding">{$aLang.blog_no_topic}</div>
{/if}

2. Для отображения непосредственного самого топика добавить в topic_topic.tpl следующий код:
{if $bFirstTopic}
<div class="topic">
    ...
</div>
{/if}

P.S. Выражаю благодарность пользователю bynetov.

6 комментариев

avatar
avatar
Пробовал как там, блин — некорректно вопрос поставил.

в «topic_list.tpl» Сделал так:
{if count($aTopics)>0}	
  {foreach from=$aTopics item=oTopic}   
      <!-- Topic -->	
        {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
<!---- имзенил на это>        {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
      <!-- /Topic -->
  {/foreach}	
		
  {include file='paging.tpl' aPaging=$aPaging}			
	
{else}
{$aLang.blog_no_topic}
{/if}


а в «topic_list.tpl» добавил:
<div class="topic">
    {if $smarty.foreach.topics.iteration==1}
    ...
    </if>
  </div>
avatar
В итоге он просто ничего не выводит.
avatar
вот так должно быть:
topic_list.tpl
{if count($aTopics)>0}
	{foreach name=Topics from=$aTopics item=oTopic}  
	   {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
	   {include file=$sTopicTemplateName bTopicList=true}
	   {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
	{/foreach}	
	
    {include file='paging.tpl' aPaging="$aPaging"}			
{else}
	<div class="padding">{$aLang.blog_no_topic}</div>
{/if}


и в topic_topic.tpl:
<div class="topic {if $bFirstTopic}first{else}all{/if}">
avatar
не работает… теперь каждый топик два раза выводит ((
Нужно чтобы всегда была виден только 1 самый последний топик…
avatar
в topic_list.tpl была ошибка нужно так:
{if count($aTopics)>0}
        {foreach name=Topics from=$aTopics item=oTopic}  
           {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
           {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
        {/foreach}      
        
    {include file='paging.tpl' aPaging="$aPaging"}                      
{else}
        <div class="padding">{$aLang.blog_no_topic}</div>
{/if}

а что был только первый топик в topic_topic.tpl так:
{if $bFirstTopic}
<div class="topic">
    ...
</div>
{/if}
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.