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

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

  • Давно я тут
  • 807
  • 57 / 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 »
*

Виталик

  • Завсегдатай
  • 1231
  • 130 / 0
*

kindzudza

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

Виталик

  • Завсегдатай
  • 1231
  • 130 / 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 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ajax для модуля

Автор bantell

Ответов: 4
Просмотров: 102
Последний ответ 22.02.2018, 00:32:21
от bantell
Скрыть ссылки от индексирование

Автор Tetrahedron

Ответов: 5
Просмотров: 105
Последний ответ 21.02.2018, 13:24:47
от ProtectYourSite
На главной, у модуля своя атмосфера (Joomla 3.x)

Автор Zhanadil1509

Ответов: 1
Просмотров: 70
Последний ответ 05.02.2018, 09:12:00
от kern.USR
Позиция модуля, на даёт рекламного коду Адсенс растянуться на весь экран

Автор Victor333

Ответов: 0
Просмотров: 47
Последний ответ 02.02.2018, 21:17:32
от Victor333
Скрыть ссылки от гостей в стандартном модуле html

Автор lgmax

Ответов: 4
Просмотров: 71
Последний ответ 30.01.2018, 20:35:39
от lgmax