Условие

Доброго.

В общем в header.tpl пишу такое условие:


{if $sAction=='index' or $sAction=='football'}
<div id="content" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if}>
{elseif $oBlog->getId()>=2 and $oBlog->getId()<=19}
<div id="content" role="main">
{else} 
<div id="content_all" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if}>
{/if}


Оно работает только на главной странице. Перехожу к примеру на страницу /blogs/ появляется ошибка:


Fatal error: Call to a member function getId() on a non-object in /home/p/public_html/templates/compiled/synio/bfff5a649e4366151740ea302fe77910a48207ba.file.header.tpl.php on line 236


Понимаю, что на других страницах не могут подгрузиться переменные $oBlog->getId()>=2 and $oBlog->getId()<=19

Делал так:


{foreach from=$aBlogs item=oBlog}
{if $sAction=='index' or $sAction=='football'}
<div id="content" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if}>
{elseif $oBlog->getId()>=2 and $oBlog->getId()<=19}
<div id="content" role="main">
{else} 
<div id="content_all" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if}>
{/if}
 {/foreach}


Но не получается. Каквывести правильно?
  • avatar
  • 0
    • 0
    • 0
    • 1

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

avatar
И все же, подскажите, пожалуйста, как правильно прописать…
  • Rules
  • 0
avatar
Извините, за грех, но я еще раз апну. Подскажите, пожалуйста, очень надо.
  • Rules
  • 0
avatar
копать в сторону определения обьекта $oBlog
avatar
Попробовал в начало шаблона вставить
{assign var="oBlog" value=$oTopic->getBlog()}


Все равно выдает ошибку

Fatal error: Call to a member function getBlog() on a non-object in
avatar
а откуда взят $oTopic?
avatar
А вот что прописать, чтобы получить $oTopic я не знаю…
avatar
Прописал так:
{foreach from=$aTopics item=oTopic}
{assign var="oBlog" value=$oTopic->getBlog()}
	{if $sAction=='index' or $sAction=='football'}
<div id="content" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if} {if $sMenuItemSelect=='profile'}itemscope itemtype="http://data-vocabulary.org/Person"{/if}>

{elseif $oBlog->getId()>=2 and $oBlog->getId()<=19}<div id="content" role="main">

              {else} 
              <div id="content_all" role="main" {if $sidebarPosition == 'left'}class="content-profile"{/if} {if $sMenuItemSelect=='profile'}itemscope itemtype="http://data-vocabulary.org/Person"{/if}>
              {/if}{/foreach}


Работает, но верстка едет вся. Почему-то присваивается по два а
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.