Имеем два модуля:
1. Блок контекстной рекламы
2. Модуль из инстанта
Нужно:
0.Обоим модулям назначена одна и та же позиция
1.Чтоб если блок 1 пустой, т.е. контекстной рекламы нет, загружался блок 2 (а блок 1 нет).
2.Если НЕ на главной странице и контекстной рекламы нет — то не грузится ничего.
Как такое реализовать, может есть оригинальное решение?
* добавляем две позизии в positions.txt
mod1
mod2
* добавляем в template.php
$mod_count['mod1'] = $inPage->countModules('mod1');
$inPage = cmsPage::getInstance();
<?php if ($mod_count['mod1']){ $inPage->printModules('mod1'); } else { $inPage->printModules('mod2'); }?>
* в админке для модуля с позицей "mod2" выставляем показ только на главной.
И получаем что если есть на главной модуль с позицией "mod1" то показывается он, если его нет то показывается "mod2", а если не главная и нет "mod1" то не показывается ничего.
П.С. только не уверен на сколько корректно будет работать в вашем случае т.к у вас контекстная рекламма и нужно определить есть ли там данные или нет.
в это то и дело… там js всегда присутствует… другое дело выводит или нет, а позиция всегда в данном случае как $mod_count, даже если на экран ничего не выводит (видимых элементов просто нет).определить есть ли там данные или нет
* в админке для модуля с позицей "mod2" выставляем показ только на главной, в стилях ставим для него "дисплей ноне" по умолчанию
по скольку у вас идет js то пусть он и проверяет есть ли вывод информации и если нету то меняем "дисплей ноне" на "дисплей блок"
фактически на главной будут выводится и модуль и рекламма, но видно будет только что то одно.
т.е. в js партнерки дописать свой проверяющий код?то пусть он и проверяет
не проще партнерку напрячь чтоб сделали заглушку?)т.е. в js партнерки дописать свой проверяющий код?
заглушка естьнапрячь чтоб сделали заглушку
1. Как сделать чтоб заглушка показывалась только на главной
2. Как вывести модуль из iCMS в заглушку? (через js вызвать?)