Форум русской поддержки Joomla!® CMS
07.12.2016, 01:47:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Ссылка на метки Joomla имеют вид component/tags несмотря на пункт меню

 (Прочитано 1645 раз)
0 Пользователей и 1 Гость смотрят эту тему.
spirit1086
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 135


« : 12.02.2015, 09:42:42 »

Здравствуйте, в материале есть метки, но ссылки имеют вид http://site.ru/component/tags/tag/4-dizajn-interera, хотя создан пункт меню к которому привязан компонент. Что не так делаю подскажите ?
« Последнее редактирование: 12.02.2015, 12:03:28 от b2z » Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #1 : 12.02.2015, 11:44:24 »

Нужно делать пункт меню для метки...
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #2 : 12.02.2015, 11:46:22 »

Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.

* tags.zip (0.9 Кб - загружено 114 раз.)
« Последнее редактирование: 12.02.2015, 13:25:20 от robert » Записан
spirit1086
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 135


« Ответ #3 : 12.02.2015, 11:53:30 »

пункт меню создан эффекта 0, залез в helper/route там не прописан для линка Itemd, скопировал в свой шаблон helper/route и там переопределил

Код:
public static function getTagRoute($id,$itemid)
{
$needles = array(
'tag'  => array((int) $id)
);
if ($id < 1)
{
$link = '';
}
else
{
if (!empty($needles) && $item = self::_findItem($needles))
{
$link = 'index.php?Itemid=' . $item;
}
else
{
// вот это добавил
                if (!empty($itemid))
                {
                   $link = 'index.php?option=com_tags&view=tag&id=' . $id.'&Itemid='.$itemid;
                }
                else
                {
  $link = 'index.php?option=com_tags&view=tag&id=' . $id;
                }
}
}

return $link;
}


Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #4 : 12.02.2015, 12:00:55 »

Не лезьте в ядро, переопределите layout, как я вам писал.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #5 : 12.02.2015, 12:00:58 »

Это не совсем баг. Больше недоработка, так как view=tags может быть разным, если выставлять родительская метки в параметрах меню. В итоге будет множество view=tags типа view=tags&parent_id=1,  view=tags&parent_id=2 и т.д. По хорошему, надо делать проверку, что в ссылке нет parent_id и при этом сделать пункт меню на все метки без родительской категории.
« Последнее редактирование: 12.02.2015, 12:06:39 от b2z » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #6 : 12.02.2015, 12:07:09 »

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

P.S. Внес проверку в файл.
« Последнее редактирование: 12.02.2015, 13:26:37 от robert » Записан
spirit1086
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 135


« Ответ #7 : 12.02.2015, 13:28:36 »

Не лезьте в ядро, переопределите layout, как я вам писал.
А я и не лез в ядро я же написал что в своем шаблоне создал папку helper/route, вывод article тоже свой шаблон и в нем прописал путь чтобы использовал мой helper/route в моем шаблоне
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #8 : 12.02.2015, 13:50:18 »

Тогда нормально. Только я не очень понял, откуда у вас берется $itemid?
Записан
spirit1086
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 135


« Ответ #9 : 12.02.2015, 14:54:54 »

Тогда нормально. Только я не очень понял, откуда у вас берется $itemid?

Код:
            $db = JFactory::getDbo();
            // Получаем ID пунката меню к которому привязан метки.
            $query = $db->getQuery(true);
            $query->select('e.extension_id, e.name')
                  ->from('#__extensions AS e' )
                  ->where('e.name='. $db->quote('com_tags'))
          ->select('m.id,m.menutype')
      ->join('LEFT', $db->quoteName('#__menu'). ' AS m ON m.component_id = e.extension_id')     
                  ->where('m.menutype='. $db->quote('mainmenu') );
            $db->setQuery($query);
            $Itemid = $db->loadObject();
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #10 : 12.02.2015, 15:03:28 »

Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
Записан
spirit1086
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 135


« Ответ #11 : 13.02.2015, 10:05:36 »

Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
Вы правы, в данной ситуации просто я знаю что будет всего только один пункт меню привязан, но если бы имело место что в дальнейшем будет несколько, тогда бы я добавил к условию where алиас активного пункта меню.
Кстати не нашел на форуме как закрывать тему?
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3586


« Ответ #12 : 13.02.2015, 10:23:44 »

А чем мой вариант не нравится?
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #13 : 13.02.2015, 10:57:27 »

А чем мой вариант не нравится?
Вот я тоже это хотел спросить.
Записан
VMF22
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #14 : 03.05.2015, 20:33:26 »

Здравствуйте!
Все работает. Спасибо!
Подскажите пожалуйста, как еще от ID-шника тега избавится в URL?
Записан
volovichvv
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 4



« Ответ #15 : 30.01.2016, 03:31:00 »

Добрый день,

Бала такая же проблема. Применил решение предложенное robert и оно почти исправило ситуацию.
У меня на сайте пункты меню созданы для всех меток, а также имеется пункт меню со списком всех меток. Работает также мультиязычность. Раньше ссылки на метки со страниц с материалами работали вообще правильно, но потом после обновления до 3.4.6. они стали отсылать, например, на:
http://vedaj.by/index.php/ru/component/tags/tag/2-kostely
После применения решения предложенного здесь, для метки из примера URL стал таким:
http://vedaj.by/index.php/ru/dostoprim/2-kostely
Спасибо и на этом, эта страница уже хоть как-то логично связана с остальными языковыми версиями, но в меню активным выглядит пункт меню соответствующий не данной метке, а списку всех меток, который расположен по урлу: http://vedaj.by/index.php/ru/dostoprim. Поэтому в идеале хотелось бы чтобы ссылка в метке наконец снова (как и до обновления) стала указывать на созданный для данной метки пункт меню:
http://vedaj.by/index.php/ru/dostoprim/kostely
Такая проблема повторяется естественно со всеми метками. Пожалуйста, подскажите, что еще можно сделать, буду очень благодарен.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #16 : 30.01.2016, 11:25:02 »

Решение здесь http://joomlaforum.ru/index.php/topic,321895.msg1610483.html#msg1610483
Записан
volovichvv
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 4



« Ответ #17 : 30.01.2016, 23:09:30 »

Спасибо!
« Последнее редактирование: 31.01.2016, 00:04:19 от volovichvv » Записан
volovichvv
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 4



« Ответ #18 : 31.01.2016, 00:00:57 »

Применил решение со ссылки:

https://github.com/joomla/joomla-cms/compare/staging...b2z:tag-route

Отдельно от решения robertа не работает вообще. Метки в материалах снова ссылаются например на:

http://vedaj.by/index.php/ru/component/tags/tag/2-kostely

Совместно с решением robertа работает также как и только с решением robertа, т.е. ссылки выставляются на страницу:

http://vedaj.by/index.php/ru/dostoprim/2-kostely

Хотя для метки из примера создан отдельный пункт меню с урлом:

http://vedaj.by/index.php/ru/dostoprim/kostely

Для всех меток на сайте созданы пункты меню, и для списков всех меток во всех языках созданы пункты меню. Подскажите может нужно выполнить еще какие-то условия для того чтобы заработало, кроме как просто внести предложенные изменения с Гитхаба в код и поставить "Да" в настройках компонента? Компонент "метки" у меня стандартный. Я пробовал играться с настройками пунктов меню с метками и с другими настройками меток, и вообще какие я только не пробовал менять настройки... Может какой-то компонент или плагин должен быть обязательно включен? Например у меня отключен стандартный плагин "перенаправление"... А может данное решение не совместимо с многоязычными сайтами.
Дело в том, что на всех остальных моих сайтах кроме vedaj.by, работа с метками вообще не поломалась после обновления, и они прекрасно указывают куда нужно, т.е. на урлы специально созданных пунктов в меню. Теперь уже все сайты (в т.ч. и проблемный) работают на версии 3.4.8... А эти все остальные сайты одноязычные.

Огромное спасибо!
« Последнее редактирование: 31.01.2016, 00:33:50 от volovichvv » Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #19 : 31.01.2016, 00:09:58 »

Так я не понял - моё решение у Вас не работает?
Записан
volovichvv
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 4



« Ответ #20 : 31.01.2016, 00:22:10 »

Нет, напрочь не работает. Кроме появившегося пункта в настройках компонента "Метки" в админке, где можно выбрать "Да" или "Нет" нет никаких изменений (выбрано "Да").
Про все остальные сайты я имел ввиду то, что они вообще даже не ломались. Я их также обновил сначала до 3.4.6. а потом и до 3.4.8. и метки все это время работали правильно без всяких моих действий. Я это написал чтобы подчеркнуть то, что не работают ссылки на метки только на единственном моем многоязычном сайте. В том числе и Ваше решение на нем пока не сработало.
« Последнее редактирование: 31.01.2016, 00:37:38 от volovichvv » Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #21 : 01.02.2016, 13:16:23 »

Похоже, что у Вас другая проблема. Моё решение для того, чтобы не создавать на все метки пункты меню.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #22 : 16.02.2016, 18:20:34 »

Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.

Вот за это жирный +
Но тут воткнул я модуль http://extensions.joomla.org/extensions/extension/search-a-indexing/tags-a-clouds/vina-tags-popular
Ссылка в модуле такие component/tags/tag/
Вопрос: Как исправить их на нормальные не создавая пункт в меню на каждую метку. На список меток пункт есть.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #23 : 16.02.2016, 18:53:00 »

Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #24 : 16.02.2016, 19:14:06 »

такое решение мне не подойдёт, из за того что родительский пункт меню - это блог категории, а дочерний это список меток. А одинаковый алиас не создаёться...
Записан
Артём 2014
Завсегдатай
*****

Репутация: +5/-3
Offline Offline

Пол: Мужской
Сообщений: 491



« Ответ #25 : 29.02.2016, 13:00:35 »

Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #26 : 29.02.2016, 13:08:16 »

Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
Так вы его создайте в меню, которое не опубликовано нигде на сайте.
Записан
Артём 2014
Завсегдатай
*****

Репутация: +5/-3
Offline Offline

Пол: Мужской
Сообщений: 491



« Ответ #27 : 29.02.2016, 13:17:14 »

сейчас тогда попробую, сделать, отпишусь позже что вышло из этого;)
Записан
Артём 2014
Завсегдатай
*****

Репутация: +5/-3
Offline Offline

Пол: Мужской
Сообщений: 491



« Ответ #28 : 29.02.2016, 13:43:08 »

проблема решилась с добавлением одного пункта меню :  когда создавал последующие пункты меню выдавало ошибку, в целом создал меню Создать/опубликовать пункт меню view=tags (Список меток / List of all tags) с алиасом tags
Записан
Артём 2014
Завсегдатай
*****

Репутация: +5/-3
Offline Offline

Пол: Мужской
Сообщений: 491



« Ответ #29 : 29.02.2016, 13:45:46 »

Google проиндексировал неверные ссылки, редирект делать?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet