Вывод рекламного блока на определенных страницах

Вывожу блок с рекламой путем вставки в шаблон сайдбара следующего условия:

{if $oTopic}{assign var="oBlog" value=$oTopic->getBlog()}{/if}
	
	{if $sAction=='index'}
		<div class="block ad">
			реклама на главной
		</div>	
		
	{elseif $oBlog and $oBlog->getUrl() == 'news'}
		<div class="block adver">
			реклама в определенном блоге
		</div>
		
	{elseif $oBlog or $oTopic}
		<div class="block adver">
			реклама на страницах других блогов и топиков
		</div>
	{/if}

Все работает как надо, проблема только с некоторыми страницами профилей — если юзер состоит в каком-либо блоге то на его странице реклама тоже выводится, а этого совсем не нужно. Подскажите, как поправить условие? А заодно и как не выводить данные блоки на страницах добавления материалов?

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

avatar
в конфиге подключить вывод блока только для нужных страниц
либо добавить условие экшен!=(страница пользователя и еще что то)
  • ort
  • 0
avatar
Блок не создавал, пишу напрямую в sidebar.tpl. Поменял на это:


        {if $oTopic}{assign var="oBlog" value=$oTopic->getBlog()}{/if}
        
        {if $sAction=='index'}
                <div class="block ad">
                        реклама на главной
                </div>  
                
        {elseif $oBlog and $oBlog->getUrl() == 'news'}
                <div class="block adver">
                        реклама в определенном блоге
                </div>
                
        {elseif $oBlog $oBlog and !$oUser}
                <div class="block adver">
                        реклама на страницах других блогов и топиков
                </div>
        {/if}


В профилях перестало выводить, но теперь выводит не на всех страницах блогов почему-то, в топиках все нормально, а вот в блогах — только в некоторых.

Т.е. мне необходимо для разных блогов (и топиков им принадлежащих) выводить разную рекламу, для всех остальных, для которых не задано — общую.
avatar
Если кому интересно, получилось так:

        {if $oTopic}{assign var="oBlog" value=$oTopic->getBlog()}{/if}
        
        {if $sAction=='index'}
                <div class="block ad">
                        реклама на главной
                </div>  
                
        {elseif $oBlog and $oBlog->getUrl() == 'news'}
                <div class="block adver">
                        реклама в определенном блоге
                </div>
                
        {elseif $sAction!=='profile' and $oBlog or $oTopic}
                <div class="block adver">
                        реклама на страницах других блогов и топиков
                </div>
        {/if}
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.