Не получается ограничить модуль главной

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем MrGadfly, 31.08.2010.

  1. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    Добрый день!
    У очередного начинающего Joomloвода есть вопрос. Заранее благодарю за ответы.
    Проблема в следующем:
    Необходимо на сайте ограничить вывод модуля слайдшоу только главной страницей. Человек я не ленивый, гуглом пользоваться умею. Нашел нужную статью о моем вопросе. Звучит это так:


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

    <?php
    if (($option == '') || ($option == 'com_frontpage')) {
    mosLoadModules ( 'user1' );
    }
    ?>

    Данная проверка отобразит позицию модулей user1 только в том случае, если в данный момент открыта главная страница сайта.

    В другом месте вычитал, что данную часть кода нужно вставить в файл index.php в папке с шаблоном, т.к. этот файл отвечает за вывод модулей. Просмотрел файл, ничего похожего на mosLoad в нем нет...ну да ладно. Я ведь начинающий, не понимаю. Вставил. Эффекта - 0.
    Включил мозг. Поюзал поиск документа на сайте, в котором будет что то о выводе модуля, вернее о комманде вывода. Искал фразу mos/ Нашел документ functions.php. Вставил вышеуказанный код туда - эффект тот же.

    З.Ы. тупостью вроде не отличаюсь, позицию из шаблона указываю правильную. Помогите понять, где моя тупость все таки победила над здравым смыслом. Повторюсь, заранее благодарен.
     
  2.  
  3. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
  4. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    1.5.12
    Написал и появилась мысль...модуль то выводится в virtuemarte уже...
    может следует править файл в шаблоне virtuemart?
     
  5. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    для наглядности...верхний шаблон слайдшоу должен отображаться только на главной. Сайт - e-fish.com.ua
     
  6. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Код (PHP):
    1. <?php $menu = & JSite::getMenu();
    2. if ($menu->getActive() == $menu->getDefault()) { ?>
    3.         ТО ЧТО БУДЕТ НА ГЛАВНОЙ
    4. <?php } else { ?>
    5.         ТО ЧТО БУДЕТ НА ОСТАЛЬНЫХ СТРАНИЦАХ
    6. <?php } ?>


    Вставлять в нужное место в index.php Вашего шаблона.
     
    MrGadfly нравится это.
  7. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    Бр...лед тронулся, но не совсем:)
    Не понял как указать что на главной и что на остальных:[
     
  8. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Слайдшоу у Вас выводится в позиции banner2. В index.php шаблона есть код, который подключает данный модуль. Выглядит он примерно так: <jdoc:include type="modules" name="banner2" style="xhtml" />

    Вот этот код и нужно вставить вместо "ТО ЧТО БУДЕТ НА ГЛАВНОЙ"
     
  9. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    кажется понял...должен быть код вот такой?

    <?php
    if (($option == '') || ($option == 'com_frontpage')) {
    }else{
    mosLoadModules ( 'user1' );
    }
    ?>
     
  10. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    ага...неправильно понял:)
    сейчас попробую...
     
  11. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    в index.php шаблона фраза banner2 встречается лишь раз...строка:

    echo artxModules($document, 'banner2', 'art-nostyle');
    что то мне подсказывает, что это не она...
     
  12. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Шаблон свой заархивируйте и выложите куда-нибудь. Нужно посмотреть что там и как. Если шаблон авторский и не хотите выкладывать его на всеобщее обозрение - то пришлите ссылку на архив в личку.
     
  13. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    да нет...не авторский. Прикрепил
     

    Вложения:

    • I_dive.rar
      Размер файла:
      241.8 КБ
      Просмотров:
      8
  14. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Так. По идее все должно работать. Заменяйте свой index.php шаблона на тот что во вложении (разархивируйте сначала). Только свой index.php сначала где-нибудь еще сохраните на всякий случай.
     

    Вложения:

    • index.rar
      Размер файла:
      1.6 КБ
      Просмотров:
      7
  15. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    Файл заменил....всеравно слайдшоу на всех страницах:(
     
  16. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
  17. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    У вас, это где?
    И что же делать в таком случае?
     
  18. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    Уважаемый gft!
    Налег я на гугл значит...нашел такую заглушку:
    Код (PHP):
    1. <?php
    2. $option = JRequest::getCmd('option');
    3. $view = JRequest::getCmd('view');
    4.  
    5. if (($option == 'com_content') and ($view == 'frontpage')) : ?>
    6. <jdoc:include type="modules" name="banner2" style="artstyle" />
    7. <?php endif; ?>


    Она у меня заработала настолько эффективно, что заглушила модуль и на главной:) Т.е. он теперь не отображается вообще. Как теперь обьеденить вашу и эту, чтоб всетаки не глушила на главной?) И снова, заранее, большое спасибо!
     
  19. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    Условно получилось. Код вот такой:

    Код (PHP):
    1. <?php
    2.   if (!$_GET[page] || $_GET[page] != 'com_fronpage') {
    3. ?>
    4.     <jdoc:include type="modules" name="ИмяПозиции" />
    5. <?php
    6.   }
    7. ?>

    У меня на главной витрумарт, поэтому с определнием frontpage не заработало...
    Теперь, почему условно:)

    При входе на сайт модуль есть. По другим страницам нету, все ок...
    возращаюсь на главную посредством кнопки "На главную", модуля нет...
    Обновляю - опять есть:) Трабла браузера, тянет из куков?
     
    Последнее редактирование: 02.09.2010
  20. MrGadfly
    Offline

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

    Регистрация:
    22.06.2010
    Сообщения:
    66
    Симпатии:
    1
    Пол:
    Мужской
    а...да...и секунду висит на его месте ссылка на адобовский флеш плеер картинкой, и текстовый линк на Joomla мануалы...
    господа знатоки, помогите домучать, а?
     
  21. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Что самое интересное, то когда я тестирую этот код у себя на сайте, то он работает. Отображает данные на главной и скрывает на остальных.

    Попробуйте еще такой способ:

    Код (PHP):
    1. <?php
    2.   $Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
    3.   if ($Itemid == '1') {
    4. ?>
    5.  
    6.     <jdoc:include type="modules" name="ИмяПозиции" />
    7.  
    8. <?php  } ?>


    В строке if ($Itemid == '1') должен быть указан ID того пункта меню, который выставлен по умолчанию.
     

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

Загрузка...