Показ 2-х модулей в 1 месте по условию. Как?

#1 14 января 2013 в 00:06
Прошу подсказать или навести на мысль.

Имеем два модуля:
1. Блок контекстной рекламы
2. Модуль из инстанта

Нужно:
0.Обоим модулям назначена одна и та же позиция
1.Чтоб если блок 1 пустой, т.е. контекстной рекламы нет, загружался блок 2 (а блок 1 нет).
2.Если НЕ на главной странице и контекстной рекламы нет — то не грузится ничего.

Как такое реализовать, может есть оригинальное решение?
#2 14 января 2013 в 01:14
Как вариант

* добавляем две позизии в positions.txt
mod1
mod2

* добавляем в template.php
  1. $mod_count['mod1'] = $inPage->countModules('mod1');
после
  1. $inPage = cmsPage::getInstance();
в нужное место в шаблоне вставляем

  1. <?php if ($mod_count['mod1']){
  2. $inPage->printModules('mod1');
  3. } else {
  4. $inPage->printModules('mod2');
  5. }?>
* в админке для модуля с позицей "mod1" выставляем показ на всех страницах.
* в админке для модуля с позицей "mod2" выставляем показ только на главной.

И получаем что если есть на главной модуль с позицией "mod1" то показывается он, если его нет то показывается "mod2", а если не главная и нет "mod1" то не показывается ничего.

П.С. только не уверен на сколько корректно будет работать в вашем случае т.к у вас контекстная рекламма и нужно определить есть ли там данные или нет.
#3 14 января 2013 в 01:22

определить есть ли там данные или нет

AtlantisWeb
в это то и дело… там js всегда присутствует… другое дело выводит или нет, а позиция всегда в данном случае как $mod_count, даже если на экран ничего не выводит (видимых элементов просто нет).
#4 14 января 2013 в 01:39
тогда еще как пища для размышления,
* в админке для модуля с позицей "mod2" выставляем показ только на главной, в стилях ставим для него "дисплей ноне" по умолчанию
по скольку у вас идет js то пусть он и проверяет есть ли вывод информации и если нету то меняем "дисплей ноне" на "дисплей блок"

фактически на главной будут выводится и модуль и рекламма, но видно будет только что то одно.
#5 14 января 2013 в 01:43

то пусть он и проверяет

AtlantisWeb
т.е. в js партнерки дописать свой проверяющий код?
#6 14 января 2013 в 02:19

т.е. в js партнерки дописать свой проверяющий код?

Join
не проще партнерку напрячь чтоб сделали заглушку?)
#7 14 января 2013 в 04:53
У того же адсенса есть условие, что если нет объявлений, то ничего не показывать. Тоже самое с директом и бегуном, если мне не изменяет память.
#8 14 января 2013 в 09:52

напрячь чтоб сделали заглушку

reload
заглушка есть

1. Как сделать чтоб заглушка показывалась только на главной
2. Как вывести модуль из iCMS в заглушку? (через js вызвать?)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.