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

Discussion in 'Изменение шаблона (кастомизация)' started by MrGadfly, Aug 31, 2010.

  1. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    Добрый день!
    У очередного начинающего 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> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
  4. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    1.5.12
    Написал и появилась мысль...модуль то выводится в virtuemarte уже...
    может следует править файл в шаблоне virtuemart?
     
  5. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    для наглядности...верхний шаблон слайдшоу должен отображаться только на главной. Сайт - e-fish.com.ua
     
  6. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Код (PHP):
    1. <?php $menu = & JSite::getMenu();
    2. if ($menu->getActive() == $menu->getDefault()) { ?>
    3.         ТО ЧТО БУДЕТ НА ГЛАВНОЙ
    4. <?php } else { ?>
    5.         ТО ЧТО БУДЕТ НА ОСТАЛЬНЫХ СТРАНИЦАХ
    6. <?php } ?>


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

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    Бр...лед тронулся, но не совсем:)
    Не понял как указать что на главной и что на остальных:[
     
  8. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Слайдшоу у Вас выводится в позиции banner2. В index.php шаблона есть код, который подключает данный модуль. Выглядит он примерно так: <jdoc:include type="modules" name="banner2" style="xhtml" />

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

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    кажется понял...должен быть код вот такой?

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

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    ага...неправильно понял:)
    сейчас попробую...
     
  11. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    в index.php шаблона фраза banner2 встречается лишь раз...строка:

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

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Шаблон свой заархивируйте и выложите куда-нибудь. Нужно посмотреть что там и как. Если шаблон авторский и не хотите выкладывать его на всеобщее обозрение - то пришлите ссылку на архив в личку.
     
  13. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    да нет...не авторский. Прикрепил
     

    Attached Files:

  14. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Так. По идее все должно работать. Заменяйте свой index.php шаблона на тот что во вложении (разархивируйте сначала). Только свой index.php сначала где-нибудь еще сохраните на всякий случай.
     

    Attached Files:

  15. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    Файл заменил....всеравно слайдшоу на всех страницах:(
     
  16. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
  17. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    У вас, это где?
    И что же делать в таком случае?
     
  18. MrGadfly
    Offline

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    Уважаемый 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 Недавно здесь

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    Условно получилось. Код вот такой:

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

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

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

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

    Joined:
    Jun 22, 2010
    Messages:
    66
    Likes Received:
    1
    Gender:
    Male
    а...да...и секунду висит на его месте ссылка на адобовский флеш плеер картинкой, и текстовый линк на Joomla мануалы...
    господа знатоки, помогите домучать, а?
     
  21. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Что самое интересное, то когда я тестирую этот код у себя на сайте, то он работает. Отображает данные на главной и скрывает на остальных.

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

    Код (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 того пункта меню, который выставлен по умолчанию.
     

Share This Page

Loading...