Собственный URL для любой страницы (без url родительского раздела)

#
Собственный URL для любой страницы (без url родительского раздела)
Приветствую!

Есть ситуация такая - на сайте разделы, в них подразделы (страницы)

Для конечных страниц я ставлю УРЛ - например /mypage а у родительского раздела есть свой url /parent - в итоге страница получает url - /parent/mypage

Но мне нужно чтобы страница имела url - www.site.ru/mypage без parent! Возможно ли это реализовать что-то изменив? Поковырял router но разобраться до конца не смог, надеюсь на форум

По сути я хочу чтобы я мог страницам задавать полный url (даже если это урл со слешами /news/company/vacation) и работали страницы по нему без префиксов родительских разделов
Модератор
#
Re: Собственный URL для любой страницы (без url родительского раздела)
Стандартно нельзя. Создавайте все страницы в корне.
#
Re: Собственный URL для любой страницы (без url родительского раздела)
Если бы можно было стандартно я бы не спрашивал..

Без нормально структурированного сайта я не могу потом ни навигацию внятную сделать ни хлебные крошки. Все страницы в корне - это не выход.
#
Re: Собственный URL для любой страницы (без url родительского раздела)
nooze,
приходит только одно на ум, переделать parseUrl() для Shop_Controller_Show
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Собственный URL для любой страницы (без url родительского раздела)
alexpimnev,
это в случае магазина наверно? У меня просто информационный сайт без доп модулей, все страницы "статика" (ну кроме новостей разве что)
#
Re: Собственный URL для любой страницы (без url родительского раздела)
nooze,
ну если инфо система то тоже самое только Informationsystem_Controller_Show
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Собственный URL для любой страницы (без url родительского раздела)
у меня есть подобное решение, напишите мне на почту обсудим
#
Re: Собственный URL для любой страницы (без url родительского раздела)
Ну в общем решение есть, его начало такое:

В файле /modules/core/command/controller/default.php

Меняем в фунции public function getStructure($path, $site_id)

$aPath = explode('/', trim($path, '/'));


на

$aPath=array();
$aPath[0]=trim($path, '/');


И в файле

/modules/structure/model.php

В функции public function getByPathAndParentId($path, $parent_id)

Убираем строку
->where('parent_id', '=', $parent_id)


Первое изменение отменяют разбор URL страницы на составляющие, и вместо поиска родительских разделов движок пытается найти страницу с запрашиваемым URL адресом
Второе - убирает проверку принадлежности документа к родительскому разделу (потому что они перестанут совпадать)

Естественно это решение не конечное и содержит тонну недостатков - определенно возникнут проблемы, но если кому информация нужна - теперь знаете куда копать.
#
Re: Собственный URL для любой страницы (без url родительского раздела)
nooze,
недостаток один и большой, при обновлении затрется все
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Собственный URL для любой страницы (без url родительского раздела)
alexpimnev писал(а):
nooze,
недостаток один и большой, при обновлении затрется все


Конечно, как и любое колхозное вмешательство в движок CMS.. Увы, если необходимость есть, а стандартных средств решений нет - приходится идти на жертвы.
Я буду счастлив, если этот недостаток окажется самым большим
Авторизация