Все ниже приведенное выполяняется в шаблоне сайта!
Предположим, у нас поставлена задача: отобразить модуль слева от основного текста (mainbody) так, чтобы он выводился только в режиме просмотра «таблицы категории», а при открытии материала исчезал. Плюс ко всему, сам модуль вставляется в шаблоне внутри html-таблицы, которая имеет собственное оформление и отведена специально для этого модуля, соответственно и отображается только в случае, когда модуль включен. Наглядно весь этот блок можно представить так:
<table bgcolor="#000000">
<tr>
<td>
<?php mosLoadModules ( 'left' ); ?>
</td>
</tr>
</table>
Итак, чтобы модуль выводился только в режиме «таблицы категории», нам нужно добавить проверку переменной «$task» и присвоить ей значение «category». Для этого мы добавляем следующие строки:
<?php if($task == 'category') { ?>
<table bgcolor="#000000">
<tr>
<td>
<?php mosLoadModules ( 'left' ); ?>
</td>
</tr>
</table>
<?php } ?>
Теперь весь блок будет отображаться только тогда, когда мы находимся в режиме просмотра «таблицы категории», а при открытии материала он скроется.
Однако возникает проблема: если мы отключим модуль и вернемся в режим просмотра «таблицы категории», то исчезнет лишь выводимое модулем содержимое, а сама таблица - от открывающего тэга <table> до закрывающего тэга </table> - все равно будет отображаться на экране, портя дизайн. Что же делать? Все очень просто: нам нужно добавить еще пару строк кода и использовать тэг <div>:
<?php if(mosCountModules('left')) { ?>
<div>
<?php if($task == 'category') { ?>
<table bgcolor="#000000">
<tr>
<td>
<?php mosLoadModules ( 'left' ); ?>
</td>
</tr>
</table>
<?php } ?>
</div>
<?php } ?>
Вот! Теперь, если мы находимся, скажем, в режиме просмотра «таблицы категории» и наш модуль выключен, то всё, что находится между первой и последней строчкой выше приведенного кода, отображаться не будет.
Примечание: Если нам нужно, чтобы модуль отображался не только в режиме просмотра «таблицы категории», но и в режиме «таблицы раздела», то добавляем через «or» всего лишь еще один параметр переменной «task», вот так:
<?php if(mosCountModules('left')) { ?>
<div>
<?php if($task == 'category' or $task == 'section') { ?>
<table bgcolor="#000000">
<tr>
<td>
<?php mosLoadModules ( 'left' ); ?>
</td>
</tr>
</table>
<?php } ?>
</div>
<?php } ?>
p.s. - рад был помочь.