Совместимость с другими CMS

  • 3 Ответов
  • 852 Просмотров

SergusNET

  • Сообщений: 41
    • Просмотр профиля
    • Заработок в интернете
Совместимость с другими CMS
« : 20 Мая 2016, 10:12:56 »
Привет сообществу!
Понимая, что Danneo является CMS портального типа, рискну все же озвучить свое пожелание.
У меня есть множество различных проектов, сделанных Бог знает на чем — Джумла, ImageCMS и пр. Ну, и Danneo, конечно. Еще есть стойкое желание перетащить большую часть проектов на Danneo, но мешает структура URL. Делать же под каждую категорию мод — слишком трудозатратно.
Вопрос: реально ли сделать в Danneo стандартные URL "категория/страница", оставив при этом и существующую структуру "мод/категория/страница"? В новой версии на мой взгляд это вроде бы возможно.
Я вижу это примерно так. Создается новый мод с именем, к примеру, mod_default (копия news подойдет идеально). При заходе на сайт идет обычный разбор url, но если в нем нет имени стандартных модов news, info и т.д., то включается мод mod_default. То есть адреса "имя-сайта/диваны/красный-диван.html" или "имя-сайта/красный-диван.html" должен обработать именно он. А уже затем идет проверка на существование и выдача 404, если в mod_default нет категории или страницы диванов. При этом следует исключить обработку mod_default нескольких страниц — морды сайта, 404 (может еще каких-то, больше не нашел).

Если такая доработка возможна, то на Danneo могут реально перепрыгнуть очень многие владельцы сайтов, движки которых их не устраивают по различным причинам. Я даже начал было сам задуманное делать под конкретный сайт, но трудно с функциями Danneo разбираться, да и при обновлении слетит все...

Если идея идиотская, ногами сильно не пинать :). Буду тогда сам дальше ковыряться.

И еще. Хорошо бы работать с материалом, который при сохранении не закрывается — скажем, были кнопки "Сохранить" и "Сохранить и закрыть".
« Последнее редактирование: 20 Мая 2016, 10:35:45 от SergusNET »

Neon

  • Сообщений: 669
    • Просмотр профиля
    • Danneo CMS
Re: Совместимость с другими CMS
« Ответ #1 : 20 Мая 2016, 18:31:42 »
Да в общем, это не идиотская идея. Чем меньше вложений в урл тем лучше.
Именно поэтому, в базовом, статичном моде "Страницы", урл страниц идет от корня.
http://сайт.ру/страница
При создании клона этого мода, вид урл будет уже: http://сайт.ру/newmod/страница
Тот вид который вам нужен. Делайте таких клонов неограниченное количество, и у вас будут урл:
http://сайт.ру/категория/страница
http://сайт.ру/категория2/страница
и т.д.

При использовании модулей типа новости, и клонов, когда на сайте включено много модов, урл не получится сделать без имени мода.
Роутеру нужна информация куда перенаправлять, иначе в 404.
Без этого ни как.

Для мода "Страницы", в роутере забито резервное имя (pages), поэтому там укороченные урл.
Но, больше одного имени не получится.

Другой вариант, удалить все моды, и оставить один, к примеру "Новости".
Для одного единственного мода, можно изменить шаблоны замены урл, укоротить.
В файле: mod/news/mod.rules.php
Просто удалить имя мода, это можно сделать самостоятельно.
Тогда, также можно получить урл вида:
http://сайт.ру/категория/страница
http://сайт.ру/категория2/страница
и т.д.
DANNEO ™

SergusNET

  • Сообщений: 41
    • Просмотр профиля
    • Заработок в интернете
Re: Совместимость с другими CMS
« Ответ #2 : 20 Мая 2016, 19:42:09 »
Спасибо за ответ и отдельное спасибо за информацию по работе движка — я не обратил внимания, что в новой версии статичные страницы без имени мода. Не подскажете, где именно забито резервное имя (pages)?
« Последнее редактирование: 20 Мая 2016, 20:00:02 от SergusNET »

Neon

  • Сообщений: 669
    • Просмотр профиля
    • Danneo CMS
Re: Совместимость с другими CMS
« Ответ #3 : 21 Мая 2016, 00:30:50 »
/core/classes/Router.php
строка 123
Цитировать
$this->mod = $this->total['pages'];
изменить на
Цитировать
$this->mod = $this->total['news'];
DANNEO ™