Jump to content


Photo
- - - - -

Фильтр показывается в товаре


Best Answer Cheren-dow , 10 November 2013 - 22:02

$task 	    = JRequest::get('task');
$controller = JRequest::get('controller');

<?php if ($task['task'] != 'item' & $controller['controller'] != 'basketjbuniversal') : ?>
    <jdoc:include type="modules" name="position-name"/>
<?php endif; ?>

Сделал так. Не отображается ни в корзине ни в карточке.

Go to the full post


  • This topic is locked This topic is locked
33 replies to this topic

#1 RDG

RDG
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 21 October 2013 - 12:54

Уважаемые коллеги!

Столкнулся со странной ситуацией, настроил фильтр в категории, всё работает отлично, но при входе в товар, фильтр по прежнему показывается в той же позиции, хотя в настройках модуля стоит "Показывать только на указанных страницах" и выбрано меню "Каталог" которое я создал специально для всех видов категорий, а там пункт меню "Бюстгалтеры")) В итоге показывается в каждом товаре этого пункта меню я так понимаю. А как этого избежать можно?

Attached Thumbnails

  • Модуль.JPG
  • Товар.JPG

  • 0

#2 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 21 October 2013 - 13:25

Попробуйте указать в настройках на всех кроме указанных


  • 0
Изображение
 

#3 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 21 October 2013 - 13:26

Попробуйте указать в настройках на всех кроме указанных

Не помогло(((


  • 0

#4 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 21 October 2013 - 13:41

Более того в корзине тоже показывается фильтр...


  • 0

#5 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 21 October 2013 - 14:49

На сколько я помню, по-умолчанию любой материал (если для него не создан свой пункт меню) при переходе из какого-либо пункта меню "наследует" его id и => все его модули.

 

Попробуйте поставить Advanced Module Manager. Хотя бы бесплатную версию. Возможно, с помощью ее доп.настроек получится сделать то, что Вам нужно.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#6 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 21 October 2013 - 14:51

На сколько я помню, по-умолчанию любой материал (если для него не создан свой пункт меню) при переходе из какого-либо пункта меню "наследует" его id и => все его модули.

 

Попробуйте поставить Advanced Module Manager. Хотя бы бесплатную версию. Возможно, с помощью ее доп.настроек получится сделать то, что Вам нужно.

Ну а неужели никто не сталкивался с подобной проблемой? У всех получается фильтр переходит в товар? Ну не может же такого быть

С корзиной почти решил проблему - назначил модулю корзины в настройках пункт меню другой.

 

Я так понимаю надо ей как то объяснить, что товар это отдельная страница, а не тот же каталог для которого задан фильтр


Edited by RDG, 21 October 2013 - 14:53.

  • 1

#7 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 21 October 2013 - 16:18

Ну, тогда нужно поступать по аналогии с корзиной - придется создавать для каждого товара пункт меню.

 

Или пытаться на уровне шаблона Joomla через какие-то условия проверять, где выводится модуль - в категории или в товаре, и скрывать позицию модуля, где она не нужна.

 

Последнее, по сути, из админки и позволяет сделать Advanced Module Manager.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#8 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 21 October 2013 - 16:21

Обрамите позицию фильра в шаблоне Joomla условиями, которые насильно исключат рендеринг позиции из документа.

например так
<?php if (JRequest::get('task') != 'item' || JRequest::get('controller') != 'basket') : ?>
    <jdoc:include type="modules" name="position-name" />
<?php endif;?>
Либо вам нужно использовать расширение, вроде http://www.nonumber....edmodulemanager
Как было замечено выше, id пункта меню наследуется от родительской страницы.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 22 October 2013 - 11:36

Не получилось, не сработало обрамление. Я так понимаю причина в JRequest::get('controller') != 'basket') : ?> - в корзине я победил эту бяку, не победил в фильтре, может тогда сюда что то надо подставить?


  • 0

#10 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 23 October 2013 - 09:22

JRequest::get('task') != 'item' // это условие для страницы материала
JRequest::get('controller') != 'basket' // условие для страницы с корзиной
Между ними стоит логическое ИЛИ

Как вариант, для страницы с материалом можно использовать такое условие
JRequest::get('item_id') > 0
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!