Ограничить появление баннера только на одной странице

Тема в разделе "Модернизация расширений", создана пользователем xpyctjawii, 24.05.2008.

  1. Offline

    xpyctjawii Недавно здесь

    Регистрация:
    28.04.2008
    Сообщения:
    59
    Симпатии:
    0
    Пол:
    Мужской
    Нужно чтобы баннер показывался только на одной из страниц сайта. Связывал его с пунктом меню, но этим пунктом является каталог sobi2, поэтому баннер показывается во всем каталоге, а мне нужно чтобы только на одной или нескольких страницах каталога. Подскажите чего где поправить чтобы это реализовать???
     
  2.  
  3. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    <?php
    if ($id=='id статьи') {
    mosLoadModules ( 'позиция модуля баннера',-1);
    }
    else{
    echo '';
    } ?>

    Где-то так.

    Или воспользоваться модулей, написанным Кроликом:)
    http://dead-krolik.info/2007/04/10/content-item-ad-artad-joomla-extension
     
    xpyctjawii нравится это.
  4. Offline

    xpyctjawii Недавно здесь

    Регистрация:
    28.04.2008
    Сообщения:
    59
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    Отлично! Только есть вопросы:
    1.Где это правится?
    2.Позиция модуля баннера - это left, right, bottom и прочее?
    3.id статьи - это всмысле CatID в соби2 ?!
     
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    1. В шаблоне
    2. ага
    3. CatID в SOBI - это ID категории

    Fanamura, else - лишнее

    Перед
    лучше вставить
    Код (CODE):
    1. $id = mosGetParam( $_REQUEST, 'id', 0);

    иначе не будет работать при register_globals=off

    Подробнее здесь - о шаблонах Joomla
     
  6. Offline

    xpyctjawii Недавно здесь

    Регистрация:
    28.04.2008
    Сообщения:
    59
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    По поводу register_globals=off спасибо!!! У меня как раз такая ситуация!!!
    Ну это понятно, а вот 'id статьи' - это что?! Откуда берется так сказать?!

    И еще вопрос: в шаблоне этот код просто добавляется или прописывается здесь:
    Код (PHP):
    1. <?php if (mosCountModules('bottom')) { ?>
    2. <tr>
    3.           <td colspan="3" valign="top" style="padding-top: 3px;text-align: center;">
    4.           <div>
    5.           <?php mosLoadModules ( 'bottom' ); ?>
    6.           </div>
    7.           </td>
    8.           </tr>
    9. <?php } ?>
    10.            </table>
    11.            </td>


    вместо <?php mosLoadModules ( 'bottom' ); ?> ???
     
    Последнее редактирование модератором: 05.04.2014
  7. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    Из URL страницы - выключи SEF и смотри параметры.
    Примеры:
    index.php?option=com_sobi2&Itemid=3 - морда SOBI
    index.php?option=com_sobi2&catid=2&Itemid=3 - категория
    index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=0&sobi2Id=1&Itemid=3 - страница с описанием

    Если нужна последняя, то тут 2 варианта:
    1. выводить на всех страницах с подробностями - тогда надо использовать параметр sobi2Task (условие sobi2Task=sobi2Details)
    2. выводить на определенной странице - используется параметр sobi2Id (sobi2Id=ID_статьи)

    Для 2го варианта код будет (для статьи №2):

    Код (PHP):
    1. <?php
    2. $sobi2Id = mosGetParam( $_REQUEST, 'sobi2Id', 0);
    3. if (mosCountModules('bottom') & $sobi2Id==2) { ?>
    4. <tr>
    5.           <td colspan="3" valign="top" style="padding-top: 3px;text-align: center;">
    6.           <div>
    7.           <?php mosLoadModules ( 'bottom' ); ?>
    8.           </div>
    9.           </td>
    10.           </tr>
    11. <?php } ?>
     
    xpyctjawii нравится это.
  8. Offline

    xpyctjawii Недавно здесь

    Регистрация:
    28.04.2008
    Сообщения:
    59
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    :yahoo: Все получилось!!! Спасибо sourpuss и Fanamura!!! Ток еще один вопросик - как правильно прописывать перечень catid если хочешь размещать баннер на 2-3 страницах, чтобы joomla не ругалась?!
    $catid==0,1,2,3 - через запятую не катит...
     
  9. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    sourpuss, о, буду знать. Кста, когда я писал без else на меня валидатор ругался :)
    Метод в заметки :)
     
  10. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    ага, надо
     
  11. Offline

    xpyctjawii Недавно здесь

    Регистрация:
    28.04.2008
    Сообщения:
    59
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    Пасибки!!! Обожаю этот форум)))
     
  12. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    или так
    Код (CODE):
    1. in_array($catid,array(0,1,2,3))
     
  13. Offline

    sergv2005 Пользователь

    Регистрация:
    18.01.2006
    Сообщения:
    424
    Симпатии:
    20
    Пол:
    Мужской
    Ответ: Ограничить появление баннера только на одной странице

    Я в таких случаях привязываюсь конкретно к Itemid страницы
    Код (CODE):
    1. if (($Itemid)==1) {
    2. ....
    3. }
     

Поделиться этой страницей

Загрузка...