Как сделать условие в шаблонах: опубликован ли топик?

{if $oTopic->getRating()}{/if}


Как тоже самое сделать, только чтобы проверялось, как значение в таблице topic_publish_index = 1, то есть выведен ли топик на главную?

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

avatar
Как с вами сложно стало, обленились

{if $oTopic->getPublishIndex()}{/if}
avatar
Мм, чё-то при вставке в header.tpl выдаёт ошибку. Я на мета тэги вешаю. Чего с оно ругается?
Fatal error: Call to a member function getPublishIndex() on a non-object in /templates/compiled/developer/461a717101f97e91446f19ad3f53e1f2b0858ef5.file.header.tpl.php on line 71
avatar
{if $oTopic}
{if $oTopic->getPublishIndex()} ... {/if} 
{/if}
avatar
Зашибись, работает!

А вместе в один через один {if услови} объединить можно как-нибудь? Чисто интересно потециально возможно в header.tpl, то с дописками выходит много громоздких условий.
avatar
Попробуйте

{if $oTopic && $oTopic->getPublishIndex()} ... {/if}


Но не уверен, что в смарти при ложности первого операнда && второй тоже не расчитывается. Возможно точно так же будет пытаться вызывать getPublishIndex() для неопределенного топика.

то с дописками выходит много громоздких условий.
Смотрите в сторону хуков. Тогда header.tpl останеться нетронутым, но придеться набросать свой плагин.
avatar
Так и думал, в скобки условие взял, оно вместе проверяется и сработало. Ура!
avatar
А есть вообще какое-нибудь общее условие, которое проверяет выведена на главную страницу, кроме связки условий рейтинг и публикация на главной?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.