Перейти к содержимому


Фотография
- - - - -

Как сделать результаты клика по тегам не на главной


Лучший Ответ SmetDenis , 09 February 2014 - 20:02

Сейчас пришла мысль, теоретически должно сработать.

 

Нужно скопировать этот файл

\media\zoo\elements\itemtag\itemtag.php -> \media\zoo\applications\jbuniversal\elements\itemtag\itemtag.php (создать папку)

 

Сюда добавить через запятую нужный пункт меню

kla_200x0.png

 

При этом route.php должен остаться не тронутым.

 

Это переопределит ссылки, которые выводятся через элемент Item tags

И обновление компонента Zoo не затронет изменение.

Если выводить через модуль Zoo tag то там можно явно указать нужный пункт меню.

 

Если есть желание, то попробуйте такой вот второй альтернативный метод.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 andrey.koch

andrey.koch

Отправлено 07 February 2014 - 20:26

Добрый день, подскажите пожалуйста как сделать так, чтобы страница с результатами клика по тегам не привязывалась к главной?

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

Можно ли как-то вывести теги в конкретный пункт меню?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 09 February 2014 - 07:55

В настройках модуля с тегами можно указать пункт меню, относительно которого будут открываться ссылки.
Если вы кликаете на тег из другого места, то будет выбрана главная страница каталога (frontpage)

 

Можете насильно указать нужный вам id пункта меню тут

\administrator\components\com_zoo\helpers\route.php

sfu_200x0.png


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#3 andrey.koch

andrey.koch

Отправлено 09 February 2014 - 09:14

Спасибо большое, получилось, только теперь в адресной строке при клике на теги обязательно появляется "...component/zoo..." от этого можно избавиться или вообще без хаков никак не обойтись?


  • 0

#4 SmetDenis

SmetDenis

Отправлено 09 February 2014 - 09:20

Это свидетельство не верно выбраного id


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#5 andrey.koch

andrey.koch

Отправлено 09 February 2014 - 09:37

id пункта меню - 189, быть может быть как-то не так указываю?

Безимени-1.png

 

P.S. Пункт меню - пустой материал, уже используется для вывода результатов поиска JBZoo Search.

 

P.P.S. Ещё одна неприятность - при клике по хлебным крошкам "на главную" выбрасывает именно на этот пункт меню, с id 189 (а в этом случае хочется попадать именно на главную :) ). Вернул всё обратно. Может быть нужно внести поправки не в общий роутер, а именно в теги?


Сообщение отредактировал ankoch: 09 February 2014 - 14:40

  • 0

#6 SmetDenis

SmetDenis

Отправлено 09 February 2014 - 17:04

Попробуйте другой Itemid пункта меню, по мимо 189. Например одну из категорий каталога, главную каталога.

 

раз уж вы правите этот код, то его можно чуть-чуть упростить

Замените 

$item_id = '';
  if ($menu_item = $this->_find('frontpage', $application_id) or $menu_item = $this->app->menu->getActive()) {
            if ($force_id && $force_id != $menu_item->id) {
                $item_id = '&Itemid='.$force_id;
                $link .= '&f=1&task=tag&tag='.$tag.'&app_id='.$application_id;
            } else {
                $item_id = '&Itemid='.$menu_item->id;
            }
  }
  $link .= $item_id;

На это

$link .= '&Itemid=' . 42; // 42 - id пункта меню

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#7 andrey.koch

andrey.koch

Отправлено 09 February 2014 - 19:43

Попробуйте другой Itemid пункта меню, по мимо 189. Например одну из категорий каталога, главную каталога.

Спасибо, оказывается роутер zoo дружит только с ссылками на свои пункты меню.

В общем создал я пункт меню "фильтр по тегам" на категорию zoo, прописал его id в указанную вами и заменённую строку и все вроде заработало.

Однако вылезла другая небольшая проблемка - в строке хлебных крошек появился пункт "фильтр по тегам" и по клике на него у меня открывалась категория zoo - ни к селу, ни к городу :) . 

Чтобы всё классно срослось, я сделал следующее:

  • создал пустой материал zoo,
  • сделал пункт меню item zoo на этот материал,
  • вставил id получившегося пункта меню в указанную вами строку,
  • создал модуль zoo tag и опубликовал его только в этом созданном пункте.

И всё ОК! Спасибо, Денис. Жалко только что хак пришлось делать, так я это не люблю  :) , так и напрашивается JBZoo item tag  ;) .


  • 0

#8 SmetDenis

SmetDenis

Отправлено 09 February 2014 - 19:55

Спасибо, оказывается роутер zoo дружит только с ссылками на свои пункты меню.

На самом деле такое с любым компонентом Joomla

К сожалению, в этом случае без хака никак. Хотя... можно подумать как упростить его, но смысл сильно не изменится.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#9 SmetDenis

SmetDenis

Отправлено 09 February 2014 - 20:02   Лучший Ответ

Сейчас пришла мысль, теоретически должно сработать.

 

Нужно скопировать этот файл

\media\zoo\elements\itemtag\itemtag.php -> \media\zoo\applications\jbuniversal\elements\itemtag\itemtag.php (создать папку)

 

Сюда добавить через запятую нужный пункт меню

kla_200x0.png

 

При этом route.php должен остаться не тронутым.

 

Это переопределит ссылки, которые выводятся через элемент Item tags

И обновление компонента Zoo не затронет изменение.

Если выводить через модуль Zoo tag то там можно явно указать нужный пункт меню.

 

Если есть желание, то попробуйте такой вот второй альтернативный метод.


  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#10 andrey.koch

andrey.koch

Отправлено 10 February 2014 - 14:27

Йо-хо-хо! Всё работает отлично и без хаков!!! Спасибо большое, Денис. Посмотрите пожалуйста по синтаксису, я правильно написал?

$values[] = '<a href="'.JRoute::_($this->app->route->tag($this->_item->application_id, $tag, $Itemid=222)).'">'.$tag.'</a>';

  • 0




Click to return to top of page in style!