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

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

Как сделать дубль страницы?

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

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

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


« : 18.11.2015, 19:34:38 »

Хотя обычно принято бороться с дублями страниц, у меня возникла противоположная задача — сделать дубль страницы. Пока я размышляю так, что мне нужно в событии onAfterInitialise вызвать определённый компонент, согласно структуре URL, и отобразить этот компонент по данному URL. Вот только как можно заставить CMS выводить именно этот компонент?
« Последнее редактирование: 18.11.2015, 21:26:28 от Филипп Сорокин » Записан
voland
Профи
********

Репутация: +487/-86
Online Online

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


любит наш народ всякое гавно...


« Ответ #1 : 18.11.2015, 20:02:48 »

Немного сумбурно.
Дубль какой страницы надо сделать и какого он вида?
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #2 : 18.11.2015, 20:27:19 »

Дубль какой страницы надо сделать и какого он вида?

Компонент может быть любым. Мне главное понять, можно ли при переходе на несуществующую страницу /abracadabra-contacts вывести, например, статью с алиасом contacts.
« Последнее редактирование: 18.11.2015, 20:31:47 от Филипп Сорокин » Записан
voland
Профи
********

Репутация: +487/-86
Online Online

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


любит наш народ всякое гавно...


« Ответ #3 : 18.11.2015, 20:34:56 »

Ну можно наверно.
А надо именно с сохранением URL и ответом 200?
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #4 : 18.11.2015, 20:39:19 »

Ну можно наверно.
А надо именно с сохранением URL и ответом 200?

Да, просто создать такой же дубль страницы, как:

/1-category/2-contacts
/2-contacts
/abracadabra-contacts
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

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


любит наш народ всякое гавно...


« Ответ #5 : 18.11.2015, 21:03:45 »

Тогда только роутер переопределять думаю.
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #6 : 18.11.2015, 21:07:29 »

Тогда только роутер переопределять думаю.

Тоже об этом подумал, но всё же это хак, которого бы хотелось избежать.
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

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


любит наш народ всякое гавно...


« Ответ #7 : 18.11.2015, 21:09:39 »

https://docs.joomla.org/J2.5:Creating_a_System_Plugin_to_augment_JRouter
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #8 : 18.11.2015, 21:20:02 »

https://docs.joomla.org/J2.5:Creating_a_System_Plugin_to_augment_JRouter

По-моему, то, что нужно. Спасибо! Ушёл читать.
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #9 : 19.11.2015, 15:33:38 »

Пытался воспроизвести указанные примеры. Первый пример не изменяет ничего, второй вызывает циклическую переадресацию. Учитывая, что мануал для J! 2.5x, код мог устареть, или я делаю что-то неправильно. Кто применял на практике данный свитч? Поделитесь, пожалуйста опытом с реальными примерами.
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #10 : 19.11.2015, 15:39:43 »

в хтсесе пропишите по ИД дублирование, роутер не причём и не надо его хакать(обнова чтоб чистая была).
а в хтсесе пропишите:
хочу это для ИД+добавление
и движок будет видеть по ИД материала и добавлять, что у вас прописано в условии.
только наверно таблица новая в БД надо, чтоб запоминало, если по кукам, то ещё дополнение, если мой путь начнёте пробывать.
а в админке галочку или поле новое для таблицы.
И тогда материал имеет ваши условия, хтесес их видит,БД записывает.
///
может проще есть и скриптом, я не анализировал данный вопрос, что первое в голову пришло, но 99% будет работать.или поищите скрипт дублей с условиями и/или закажите/найдите/напишите.
« Последнее редактирование: 19.11.2015, 15:45:44 от vipiusss » Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #11 : 19.11.2015, 16:22:01 »

в хтсесе пропишите по ИД дублирование, роутер не причём и не надо его хакать(обнова чтоб чистая была).
а в хтсесе пропишите:
хочу это для ИД+добавление
и движок будет видеть по ИД материала и добавлять, что у вас прописано в условии.
только наверно таблица новая в БД надо, чтоб запоминало, если по кукам, то ещё дополнение, если мой путь начнёте пробывать.
а в админке галочку или поле новое для таблицы.
И тогда материал имеет ваши условия, хтесес их видит,БД записывает.
///
может проще есть и скриптом, я не анализировал данный вопрос, что первое в голову пришло, но 99% будет работать.или поищите скрипт дублей с условиями и/или закажите/найдите/напишите.

Спасибо, конечно, но зачем отвечать на посты, если не в теме? Никто не собирается хакать роутер - в мануале по ссылке, любезно предоставленной Воландом, содержится часть информации, как можно не хакнуть роутер, а переопределить. Ваши советы вообще не в тему, извините. Средствами Apache же данная задача нереализуема (к тому же она мне не подходит по причине того, что мне нужно сделать не алиас, а свитч на компонент после инициализации CMS).
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #12 : 19.11.2015, 16:31:34 »

Что значит не в теме? В этой или вообще?
А роутер переопределять-это не хакать?
И почему моё решение неправильное?Возможно долгое, но будет работать.
И сорри, если по вашему влез "не в тему".
Надеюсь решение найдёте.
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #13 : 19.11.2015, 17:09:00 »

И почему моё решение неправильное?
См. выше:
Цитировать
...не алиас, а свитч на компонент
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

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


любит наш народ всякое гавно...


« Ответ #14 : 19.11.2015, 19:19:29 »

Отправил в лс пример кода, там вроде немного по другому, но может пригодится, сам не писал.
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #15 : 19.11.2015, 19:32:14 »

Отправил в лс пример кода, там вроде немного по другому, но может пригодится, сам не писал.

Спасибо, попробую. Истина где-то рядом!
Записан
Филипп Сорокин
Живу я здесь
******

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

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


« Ответ #16 : 20.11.2015, 04:00:45 »

Нашёл бесплатное решение — Simple Custom Router: пишешь регулярку запроса — тебе выводится всё, что захочешь. Кстати, исходник интересный, короткий и достаточно простой, без подключения запутанных библиотек, как в sh404SEF, и актуальный для Joomla 3. Изучив его, можно узнать много полезного и затем применять в собственных целях. Direct Alias, кстати, тоже интересный и понятный. После того, как разберусь с предыдущим, надо купить платную версию и заглянуть в код.
Записан
Страниц: [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