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

kindzudza

  • Новичок
  • 7
  • 0 / 0
Воспользовался поиском и нашел решение что бы убрать показ модуля при просмотре материала установленного компонента. Но задача усложняется тем что необходимо показывать модуль в категории и НЕ показывать в подкатегории и материале. И вот этот код показывает модуль в подкатегориях, а как сделать что бы в подкатегориях НЕ показывал.
Код
<? $app = JFactory::getApplication();
     $option = $app->input->getCmd('option', '');
     $view = $app->input->getCmd('view','');
     if(!JRequest::getVar('limitstart') && $this->countModules('position-2') && $view != 'showproperty' && $option == 'com_estateagent') : ?>
     <jdoc:include type="modules" name="position-2" style="none" />
     <? endif; ?>
Не SEF ссылка на основную категорию выглядит так:
Код
index.php?option=com_estateagent&view=category&id=2&Itemid=111
Не SEF ссылка на подкатегорию выглядит так:
Код
index.php?option=com_estateagent&view=category&id=17&Itemid=133
Пробовал создавать скрытое меню и делать запрет вывода модуля, но не помогает.
« Последнее редактирование: 23.09.2017, 19:19:21 от kindzudza »
*

NewUsers

  • Давно я тут
  • 775
  • 56 / 0
Перед формирование страницы (обычно это функция системного плагина onAfterInitialise, или в представлении  - файл view.html.php)
добавь код

Код: php
<?php $app->get('themeParams')->set('mod-pos2', false); ?>
но, добавляй только там где модуль НЕ НАДО выводить...

потом в файле шаблона
условие на вывод позиции модуля
Код
<?php if($this->params->get('mod-pos2', true)): ?>
   <jdoc:include type="modules" name="position-2" style="none" />
<? endif; ?>

*

kindzudza

  • Новичок
  • 7
  • 0 / 0
Перед формирование страницы (обычно это функция системного плагина onAfterInitialise, или в представлении  - файл view.html.php)
добавь код
Вообще не понял что делать, добавлю что стоит компонент sef404, плагин не нашел, файл view.html.php компонента com_estateagent, нашел. Уточните мои действия? Кроме этого ваш код надо дописать к тому что у меня или можно использовать независимо?

Код который я написал выше я уже использую на сайте, он мне подходит т.к. не выводит модуль на страницах материала компонента и на страницах пагинации в основной категории, но появились подкатегории и модуль выводится в них, это надо устранить, что надо дописать. Код писал не я поэтому я мало что понимаю в нем, если можно поподробней что редактировать и где.
« Последнее редактирование: 23.09.2017, 19:49:43 от kindzudza »
*

Виталик

  • Завсегдатай
  • 1223
  • 129 / 0
*

kindzudza

  • Новичок
  • 7
  • 0 / 0
основная категория только одна?
нет их 5, из них две имеют по десятку подкатегорий с которыми и возникли сложности
« Последнее редактирование: 23.09.2017, 19:55:16 от kindzudza »
*

Виталик

  • Завсегдатай
  • 1223
  • 129 / 0
Код
<?php
$app = JFactory::getApplication();
    $option = $app->input->getCmd('option', '');
    $view = $app->input->getCmd('view','');
    if(!JRequest::getVar('limitstart') && $this->countModules('position-2') && $view != 'showproperty' && $option == 'com_estateagent' && in_array(JRequest::getInt('id', 0), array(1,2,3,4,5))) : ?>
    <jdoc:include type="modules" name="position-2" style="none" />
    <? endif; ?>

вместо 1,2,3,4,5 вставьте id категорий в которых надо показывать
*

kindzudza

  • Новичок
  • 7
  • 0 / 0
вместо 1,2,3,4,5 вставьте id категорий в которых надо показывать
С данным кодом вообще не выводится модуль нигде, исчез и все. Добавлял так:
Код
<? $app = JFactory::getApplication();
$option = $app->input->getCmd('option', '');
$view = $app->input->getCmd('view','');
if(!JRequest::getVar('limitstart') && $this->countModules('position-2') && $view != 'showproperty' && $option == 'com_estateagent' && in_array(JRequest::getInt('id', 0), array(1,2,3,4,5,6))) : ?>
<jdoc:include type="modules" name="position-2" style="none" />
<? endif; ?>
Как я понял одно и то же id отвечает и за основную категорию и за подкатегории, но основные категории идут от 1 до 10 id т.к. создавались первыми, и подкатегории  соответственно имеют id выше.

А вот так получилось
Код
<? $app = JFactory::getApplication();
$option = $app->input->getCmd('option', '');
$view = $app->input->getCmd('view','');
if(!JRequest::getVar('limitstart') && $this->countModules('position-2') && $view != 'showproperty' && $option == 'com_estateagent' && in_array(JRequest::getInt('id', 7), array(1,2,3,4,5))) : ?>
<jdoc:include type="modules" name="position-2" style="none" />
<? endif; ?>
Поставил обработку массива с 7, а не с 0 и получил что в основных категориях показывает, а во вложенных нет, или так и задумывалось?
« Последнее редактирование: 23.09.2017, 21:06:07 от kindzudza »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите найти код модуля

Автор Serg34

Ответов: 3
Просмотров: 46
Последний ответ 03.12.2017, 20:17:13
от effrit
При создании модуля - белый экран

Автор SuschnosT

Ответов: 9
Просмотров: 154
Последний ответ 24.11.2017, 16:08:31
от robert
Добавление модуля на страницах категорий/статей

Автор froggi3

Ответов: 3
Просмотров: 102
Последний ответ 24.11.2017, 09:36:12
от khan-alex
Разрешить/запретить показ модуля на мобильных устройствах (планшеты, смартфоны)

Автор Slava77

Ответов: 12
Просмотров: 252
Последний ответ 22.11.2017, 08:34:23
от Mitriy
Публикация модуля HTML кода по времени

Автор bgh97079

Ответов: 3
Просмотров: 108
Последний ответ 20.11.2017, 16:18:08
от effrit