0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 1673 Просмотров
*

My Sun

  • Осваиваюсь на форуме
  • 30
  • 1 / 0
Пишу свой шаблон.
В index.php вывожу слайдер и содержимое основного компонента.
Код
	<div id="container">
<div id="center">
<jdoc:include type="modules" name="slideshow" style="xhtml" />
<jdoc:include type="component" />
</div>
</div>
В свойствах слайдера выбрано - выводить только на главной странице.
Содержимым основного компонента в зависимости от ситуации могут быть страницы, привязанные к пунктам меню, либо результаты поиска "VM - Search in Shop", которые к меню, как я понял к меню никак не привязать, соответственно нет возможности указать в настройках слайдера, что на этой странице его вывод запрещён.
Таким образом, когда отображаются результаты поиска, перед ними вылазит слайдер, считая, что выбрана главная страница сайта.
Каким образом можно проверить, что открыты именно результаты поиска, чтобы подавить вывод слайдера ?
*

My Sun

  • Осваиваюсь на форуме
  • 30
  • 1 / 0
Погуглив, нашёл как убрать модуль при выборе определённого пункта меню :

Cразу после <body> ставим:

Код
<?php $Itemid = JRequest::getInt( 'Itemid' ); ?>

А в нужном месте Index.php шаблона:

Код
<?php if ($Itemid != '39') { ?>
Выводимые данные
<?php } ?>
В данном примере мы выведем код на всех страницах, кроме пункта меню с id=39

Но данный способ лишь дублирует имеющийся функционал Joomla и мне не подходит.
« Последнее редактирование: 10.11.2012, 21:34:26 от My Sun »
*

My Sun

  • Осваиваюсь на форуме
  • 30
  • 1 / 0
Ещё нашёл вариант, как показывать/скрывать модули в зависимости от того, какой компонент выводится.
Вставляем в index.php в начале файла вставляем:
Код
$option = JRequest::getVar('option', null);
Эта функция получает название текущего компонента на странице. Потом в области, где выводится ненужная позиция заключаем ее в следующую конструкцию:
Код
<?php if ($option == 'com_content') { ?> <jdoc:include type="modules" name="user1" style="xhtml" /> <?php } else {} ?> <jdoc:include type="modules" name="user2" style="xhtml" />
В переводе на дословный текст это означает: если для вывода используется компонент com_content, то выводим позицию user1 для модуля, если какой-то другой компонент, то вместо позиции user1 выводим позицию user2, как-то так...

Но этот вариант мне тоже не подходит, т.к. у меня постоянно выводится компонент VirtueMart.
*

My Sun

  • Осваиваюсь на форуме
  • 30
  • 1 / 0
Я нашёл следующее решение :
Вместо
Код
		<jdoc:include type="modules" name="slideshow" style="xhtml" />
Пишем
Код
		<?php if($_GET['search'] != 'true'){ ?>
<jdoc:include type="modules" name="slideshow" style="xhtml" />
<?php } ?>
Конструкция
Код
if($_GET['search'] != 'true')
проверяет, есть ли в адресной строке браузера слово "search" и если не находит его, то слайдер выводится. Соответственно, если слово это имеется, (а значит мы просматриваем результаты поиска), то вывод слайдера подавляется.
Всем спасибо. Все свободны.  yes!

ЗЫ:

Вместо
Код
$_GET['search']
можно также использовать
Код
JRequest::getVar('search', '')
результат получается такой же. Не знаю, какой вариант более правильный.
« Последнее редактирование: 10.11.2012, 22:00:29 от My Sun »
*

Apposym

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
  • Не ругайтесь пжлста, я ЧАЙНИК!
Подскажите пожалуйста,  куда последний вариант кода вставить  ?
не могу спрятать модуль  Image Show GK4
*

web11

  • Захожу иногда
  • 58
  • 1 / 0
virtuemart2.info - блог о virtuemart 2
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести модуль в страницу VirtueMart?

Автор harddrop

Ответов: 10
Просмотров: 432
Последний ответ 18.06.2018, 06:05:19
от harddrop
Joomla 3 + VM + Universal AJAX Live Search - как вывести картики товара в поиске?

Автор PSN

Ответов: 9
Просмотров: 3568
Последний ответ 09.04.2018, 19:36:42
от Sanctus_Di
Joomla 3.8.x отключить SEO для поиска VirtueMart 3

Автор nikoam

Ответов: 0
Просмотров: 144
Последний ответ 26.01.2018, 10:33:12
от nikoam
sp VirtueMart category search

Автор nokinfinity

Ответов: 0
Просмотров: 180
Последний ответ 30.11.2017, 00:12:25
от nokinfinity
Вставить модуль в произвольное (настраивамое) поле VirtueMart

Автор Adrian1111

Ответов: 18
Просмотров: 670
Последний ответ 09.06.2017, 13:41:13
от Adrian1111