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

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

Плагин переопределения роутера

 (Прочитано 3139 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zomby6888
Живу я здесь
******

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

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


« : 01.04.2014, 07:10:57 »

Написал плагин для переопределения роутеров компонентов. Что необходимо сделать: Создаете папку с названием компонента по пути ваш_шаблон\routers и кладете туда роутер, которым будете переопределять, например mytemplate/routers/com_content/router.php. Тестировал пока что только на версиях 2.5 и 3.1.Сам плагин в прицепе. Потестируйте кому интересно..

* router.zip (2.57 Кб - загружено 138 раз.)
* route_override.zip (5.18 Кб - загружено 125 раз.)
* routersoverrider.zip (2.24 Кб - загружено 55 раз.)
« Последнее редактирование: 09.01.2016, 14:55:53 от zomby6888 » Записан
maximtop
Захожу иногда
**

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

Сообщений: 11


« Ответ #1 : 01.04.2014, 07:58:56 »

Не могли бы вы более подробно описать порядок действий.
Мне не понятно. Если это плагин, тогда может его надо устанавливать через менеджер расширений?
У меня нет папки
Код:
routers/
в шаблоне
Или просто нужно создать папку по пути
Код:
/templates/my_template/routers/com_virtuemart/
и в нее положить
Код:
router.php
из папки
Код:
/components/com_virtuemart/
?

Записан
arma
Живу я здесь
******

Репутация: +61/-2
Online Online

Сообщений: 1247


« Ответ #2 : 01.04.2014, 08:27:38 »

Вход в настройки плагина - 500-я ошибка. При удалении - Манифест файла недопустим или не найден. Joomla 2.5
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #3 : 01.04.2014, 13:35:27 »

maximtop, его только надо включить в настройках и он сам создаст эту папку если вы находитесь на сайте . Также вы можете создать ее сами, вы все правильно написали. Устанавливаете через менеджер расширений, включаете, и создаете нужную папку.

arma спасибо за наводку, поправил архив.
« Последнее редактирование: 01.04.2014, 13:42:57 от zomby6888 » Записан
Shustry
Группа развития
*****

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

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


Рисую дизайны


« Ответ #4 : 01.04.2014, 14:16:59 »

очень интересная наработка. Не могли бы выложить примеры переопределённых роутеров? Т.е. код.
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #5 : 01.04.2014, 16:04:43 »

Примеры? Ну вот я добавил в приложения файл роутера от com_content. Но только слегка измененый. В нем убраны id материалов из URL.Ставите плагин, включате, потом создаете в папке routers папку com_content и кладете его туда. Вобще можно копировать роутеры с любых установленных компонентов и над ними изгалятся в этой папке. Можно написать свой роутер с нуля, однако при этом важно соблюдать правила наименования методов и классов. Ваш роутер будет переопределять роутер компонента, даже после обновлениий компонентов. Но надо еще тестировать конечно, может не во всех версиях работать, хотя должно по идее.
Записан
AlekVolsk
Профи
********

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

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



« Ответ #6 : 01.04.2014, 16:09:07 »

1-й архив - сам плагин, а 2-й архив - это что?



Уже понял, сори. Спасибо за классную вещь, +
Записан
arma
Живу я здесь
******

Репутация: +61/-2
Online Online

Сообщений: 1247


« Ответ #7 : 04.04.2014, 16:04:35 »

Что-то в com_zoo вклинивается index.php в адрес, т.е. без плагина сайт.сом/категория/итем с плагином сайт.сом/index.php/категория/итем
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #8 : 07.04.2014, 01:42:46 »

Что-то в com_zoo вклинивается index.php в адрес, т.е. без плагина сайт.сом/категория/итем с плагином сайт.сом/index.php/категория/итем
поправил проблему с index.php , архив перезалил, проверьте пожалуйста.
Записан
arma
Живу я здесь
******

Репутация: +61/-2
Online Online

Сообщений: 1247


« Ответ #9 : 07.04.2014, 07:55:12 »

Спасибо, index.php ушёл. Теперь заметил ещё такую вещь - если меню ведёт на компонент, к примеру у меня на фохконтакт, то с плагином пункт меню выглядит следующим образом: сайт.com/nashi-kontakty?view=foxcontac (без плагина сайт.com/nashi-kontakty)
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #10 : 08.04.2014, 19:10:17 »

поправил, архив перезалил.
Записан
arma
Живу я здесь
******

Репутация: +61/-2
Online Online

Сообщений: 1247


« Ответ #11 : 08.04.2014, 20:53:56 »

Спасибо, всё теперь отлично.
Эх, поспешил  Sad. Теперь если материал разбит на страницы, то не  осуществляется переход на следующую. Т.е. не срабатывает дописка "?showall=&start=1,2,3..." к ссылке
« Последнее редактирование: 08.04.2014, 21:19:15 от arma » Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #12 : 09.04.2014, 14:19:21 »

Все вроде пагинацию поправил..
Записан
arma
Живу я здесь
******

Репутация: +61/-2
Online Online

Сообщений: 1247


« Ответ #13 : 09.04.2014, 17:16:18 »

Ещё раз спасибо. очень нужный плагин. Пару раз забывал свои роутеры закидывать после обновлений.
Записан
Efanych
Группа развития
*****

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

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



« Ответ #14 : 09.04.2014, 20:10:33 »

Установил, включил. Папка не создалась.
На фронте ошибка.
На главной
Показать текстовый блок

На материалах привязанных к меню
Показать текстовый блок

Это я роутер ещё не кидал в папку шаблона.

Joomla 3.2.3 + zoo 3.1.6
Записан
Olg
Живу я здесь
******

Репутация: +73/-1
Online Online

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


« Ответ #15 : 09.04.2014, 21:06:48 »

Joomla! 3.2.3
После установки:
Fatal error: Call to a member function getDefault() on a non-object in Z:\home\....\www\plugins\system\routeoverride\includes\override_router.php on line 145
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #16 : 09.04.2014, 21:16:55 »

О да, я пока только на 2.5 тестировал и на 3.1.5, видимо что-то поменяли они, сейчас скачаю посмотрю новый роутер
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #17 : 09.04.2014, 21:47:58 »

вылечил ошибку с меню для 3.2.3 версии, архив перезалил можно дальше тестировать)
Записан
Olg
Живу я здесь
******

Репутация: +73/-1
Online Online

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


« Ответ #18 : 09.04.2014, 21:58:44 »

Работает. Спасибо!
Записан
Efanych
Группа развития
*****

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

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



« Ответ #19 : 09.04.2014, 22:13:11 »

Отлично! Работает. Спасибо за прекрасную разработку.
Записан
Olg
Живу я здесь
******

Репутация: +73/-1
Online Online

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


« Ответ #20 : 10.04.2014, 07:58:29 »

Плагин лечит древний геморой движка. Как это решение интегрировать в сам движок, чтобы при очередном обновлении не бояться, что роутер слетит? Вроде здесь у нас есть джентльмены, "близкие к телу".
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #21 : 10.04.2014, 10:30:55 »

Плагин лечит древний геморой движка. Как это решение интегрировать в сам движок, чтобы при очередном обновлении не бояться, что роутер слетит? Вроде здесь у нас есть джентльмены, "близкие к телу".
Плагин и существует для того что бы при очередном обновлении не слетало все!
Но не факт что в очередном обновлении не поменяют кардинально что то в коде ядра и плагин перестанет работать!
Записан
Olg
Живу я здесь
******

Репутация: +73/-1
Online Online

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


« Ответ #22 : 10.04.2014, 10:44:53 »

Цитировать
Но не факт что в очередном обновлении не поменяют кардинально что то в коде ядра и плагин перестанет работать!
О чём и речь.
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #23 : 10.04.2014, 16:11:09 »

да но, на самом деле не особо то они его меняют, пару строк местами поменяют и ладно) В случае с меню так там ошибка с версии 2.5 а может и даже раньше кочевала вплоть до версии 3.2.3 , просто в предыдущих версиях это было не критично. Вобще разработчики могли бы и дать возможность переопределить правила, для этого всего то две строчки надо в роутер добавить.. незнаю почему не сделают. Многие решения вызывают вопросы, впрочем скорее всего так просто сложилось исторически.
Записан
kerch
Захожу иногда
**

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

Сообщений: 19


« Ответ #24 : 06.01.2016, 19:52:38 »

День добрый.
Joomla! 3.4.8 + VirtueMart 3.0.12
Все по инструкции сделал.
Пустая страница.
Может пофиксите? Плагин очень полезен.
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #25 : 07.01.2016, 18:58:13 »

Эхх, ну может будет время посмотрю. Поставлю эти версии Joomla и VirtueMart и потестирую. Вобще вроде бы они переписывали послностью роутинг и в какой то из последних версий хотели его внедрить. Если там новый роутер то я уже не буду ничего делать тем более скоро выйдет новая линейка. А пока вы можете включить отображение ошибок в глобальных настройках(если еще не включено), возможно я по ошибке смогу подсказать или подправить что-то.
Записан
zikkuratvk
Профи
********

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

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


Разрабатываем для Joomla


« Ответ #26 : 07.01.2016, 19:32:46 »

Я пока не понял смысл всего этого дела :-)
Если двигаться в направлении переделки роутера.. двигайтесь к отвязанному роутеру... )) по крайней мере в нем есть смысл.
Записан
kerch
Захожу иногда
**

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

Сообщений: 19


« Ответ #27 : 09.01.2016, 14:22:38 »

Эхх, ну может будет время посмотрю. Поставлю эти версии Joomla и VirtueMart и потестирую. включить отображение ошибок в глобальных настройках(если еще не включено),
В том то и дело что включено.
Даже в самом router.php вставил
Код:
ini_set('display_errors',1);
error_reporting(E_ALL);
Белый экран. Похоже баг где-то глубже.
Записан
kerch
Захожу иногда
**

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

Сообщений: 19


« Ответ #28 : 09.01.2016, 14:25:21 »

двигайтесь к отвязанному роутеру... )) по крайней мере в нем есть смысл.
Ну и как отвязать роутер?
http://joomlaforum.ru/index.php?topic=247142.0
По ссылке из первого вопроса у меня так же получилось переопределить
Записан
zikkuratvk
Профи
********

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

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


Разрабатываем для Joomla


« Ответ #29 : 09.01.2016, 14:33:54 »

Ну и как отвязать роутер?
Сделать независимый роутер для единиц контента от меню... как в WordPress... это бы позволило решить кучу проблем...
А убирать id просто глупо и я бы сказал вредно, зачем людям такой гемор я даже понять не могу... кроме проблем вы ничего не получаете.

Раньше старадали фигней типа sh404SEF и иже с ними... потом отпустило чуть чуть... из-за того что в умах прошла Joomla 1.0, но пережитки все таки остались.
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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