Для юзеров Seditio и новичков
Perceive |
|
---|---|
Приветствую! Есть мысли, которыми хочется поделиться.
Я долгое время присматривался к движку MODx + в этом году делал один из сайтов, используя куски кода Cotonti. И попробовал применить один из интересных принципов, о внедрении которого можно подумать. Идея следующая: каждая страница на сайте по своей сути - код, описанный согласно спецификации HTML. У каждой страницы есть набор атрибутов: заголовок, метатеги, тело (текст). Некоторые страницы - это каталоги с дочерними страницами, некоторые - просто описания товаров и т.д. Но браузеру это не важно, для него это просто код. И эту идею можно перенести во фрэймворк. По этому пути начала идти Seditio, упростив всякие блоги до уровня обычных страниц. Но можно пойти дальше. Можно упростить списки (list.php) и в перспективе ввести новый обработчик плагинов. Как это работает: в примитиве контент представлен в БД одной лишь таблицей страниц, например так: Идентификатор, Заголовок, Дескрипшн, Ключевики, Текст ссылки на страницу, Заголовок h1, Текст, Это раздел?, Идентификатор родителя, Дата публикации, Шаблон, ... Двумя полями: Это раздел? и Идентификатор родителя мы убираем необходимость в list.php и получаем простое логическое дерево сайта. Причем, можно даже не вводить признак "Это раздел?". Он используется в технических целях при построении ссылок. Полем "шаблон" мы легко определяем совершенно любой вид страницы: будь до это список дочерних страниц или текст статьи. Администрировать это дело ещё проще: плагин jquery с возможностью перетаскивания и контекстного меню и структурой сайта можно управлять на одной странице. Несколько сложнее с плагинами и другими компонентами. 1) Хуки для плагинов никто не отменял. Они продолжают также работать. Но уже только в page.php 2) В MODx кроме плагинов существует отдельная сущность Сниппета (компонента). Они вызываются "из тела страницы". В содержимом страницы указывается, например [[Wayfinder]] и в этом месте происходит вызов компонента, который строит навигацию. В чём главное преимущества от задания в шаблоне просто {SOMETAG} - в том, что сниппету можно передать параметры [[Wayfinder ?parent=25]]. Если это можно как-то использовать в котонти... Ещё один момент. Я уже писал за его внедрение. Напишу ещё раз: единая точка входа index.php. Я уже не знаю хостингов, которые запрещают htaccess. Этот момент позволил мне в своем сайте реализовать программное построение ЧПУ. Принцип прост: url/page/adress превращается в массив и дальше мы можем удобно работать с любым уровнем, например так: switch($sys['urlarray'][1])
{
} Вот как то так ![]() |