- PVSM.RU - https://www.pvsm.ru -
Всем привет. С момента написания последней статьи в системе произошло много изменений, о которых хотелось бы рассказать.
К сожалению, в статье минимум технической информации, но все равно данная статья важна для понимания, что система не стоит на месте и возможно поможет кому то проявить интерес к ней и желание принять участие в разработке.
Одно из значимых изменений это уход на рабочем столе от jQuery UI в пользу Gridster [1], который позволил сделать рабочий стол более информативным и компактным. Теперь можно изменять размеры виджетов и размещать их в таком порядке, который удобен именно вам.
[2]
Как обычно посмотреть на новый рабочий стол можно на демо сайте [3].
Новые виджеты
Также улучшилось API по созданию собственных виджетов, оно стало проще и функциональней. Для каждого виджета есть возможность указать ограничения по размеру, размер по умолчанию, а также в будущем планируется авто обновление данных.
Основная проблема KodiCMS — недостаток документации, которая могла бы помочь пользователям создавать собственные модули или расширять функциональность существующих модулей, поэтому в качестве первого шага были созданы плагины — скелеты, в которых собраны основные файлы конфигурации с описанием, а также основные классы, которые помогут в разработке.
В будущем я планирую расширить данный список, в который войдут:
Ранее в комплект KodiCMS входил только плагин с редактором текста RedactorJS, теперь в систему добавлен ckEditor [7], который используется в качестве редактора по умолчанию. В будущем планируется более тесная интеграция с системой, подключение файлового менеджера, загрузка картинок и т.д.
Также добавлена возможность выбрать цветовую схему для редактора кода Ace
В системе есть возможность подключения любого стороннего редактора без затрагивания кода ядра системы.
В KodiCMS есть плагин «Гибридные данные», который очень похож на раздел «Ифнормационные блоки» от Битрикс, но имеет свои преимущества и недостатки.
В данном разделе появился поиск по документам, а также добавлена возможность для каждого раздела в админ панели назначать иконку и группировать разделы по папкам, а также выносить раздел в корень меню.
[8]
При редактировании meta информации страницы сайта теперь можно сразу видеть скомпилированные заголовки
Также по работе с полями страницы была написана небольшая статья в разделе Wiki на Github [9]
Для виджета «Меню» добавлена возможность привязки других виджетов к страницам. Данный функционал может пригодиться, если в меню необходимо вывести данные, которые не содержаться в разделе страницы.
В данном модуле был переработан дизайн блоков, а также добавлена возможность изменять порядок их вывода.
Потихоньку в систему встраивается Sphinx search, для поиска по разделам сайта, а также в тестовом режиме генерируется конфиг для созданных разделов «Гибридные данные».
Возможность подключения собственных каталогов в файловый менеджер системы.
Пример конфиг файла [10]
Да да, такое тоже возможно, как это не парадоксально, но для Kohana вышло обновление версии 3.3.3.1, в котором к сожалению мало изменений, но все же я слежу за обновлением модулей и библиотек используемых системой и по возможности обновляю.
В связи с тем, что Kohana фреймворк прекратил свое развитие и для многих это является важным критерием, то есть мысли о том, чтобы мигрировать на другой фреймворк, например, близкий по архитектуре — Laravel, но пока это только мысли, которые все чаще посещают меня. Если миграция не произойдет, то приведение кода, названия файлов и т.д. к стандартам.
Для многих главным критерием в выборе CMS является наличие модуля интернет-магазина и также есть мысли о создании такого модуля.
В данной статье я выделил основные изменения, которые можно увидеть визуально, но помимо них есть еще множество улучшений в коде системы.
//init.php
Assets_Package::add('fancybox')
->css(NULL, ADMIN_RESOURCES . 'libs/fancybox/jquery.fancybox.css', 'jquery')
->js(NULL, ADMIN_RESOURCES . 'libs/fancybox/jquery.fancybox.pack.js', 'jquery');
в виджете
или в шаблоне сайта.
...
<head>
<?php echo Meta::factory($page)
->add(array('name' => 'author', 'content' => 'KodiCMS'))
->package(array('jquery', 'fancybox'', 'fontawesome'));
?>
</head>
...
Также в плагине можно хранить все шаблоны и сниппеты сайта и они будут видны в системе также как и шаблоны в корне.
В плагине можно настроить конфиг подключения дополнительной папки в файловый менеджер
//elfinder.php
return array(
'volumes' => array(
'skeleton_public' => array(
'driver' => elFinder_Connector::FILE_SYSTEM, // driver for accessing file system (REQUIRED)
'path' => substr(PLUGIN_SKELETON_PATH, 0, -1), // path to files (REQUIRED)
'URL' => PLUGIN_SKELETON_URL, // URL to files (REQUIRED),
'alias' => __('Skeleton public'),
'uploadMaxSize' => '10M',
'mimeDetect' => 'internal',
'imgLib' => 'gd',
)
)
);
или дополнить существующий тип страницы новымы роутами, которые помогут в создании ссылок, например для фильтрации данных.
//behaviors.php
return array(
'hybrid_docs' => array(
'routes' => array(
'/tag/<tag>' => array(
'regex' => array(
'tag' => '.*'
),
'method' => 'stub'
)
)
),
);
demo.kodicms.ru [14]
Спасибо за внимание!
P.S. К сожалению, статьи даются мне очень тяжело и найти человека, который помог бы с их написанием очень тяжело, поэтому публикации выходят не так часто, как мне хотелось бы, но в группе Вконтакте [15] или Facebook [16] я стараюсь освещать наиболее значимые изменения.
Автор: ButscH
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/cms/80828
Ссылки в тексте:
[1] Gridster: http://gridster.net/
[2] Image: http://habrastorage.org/files/8eb/975/222/8eb97522249b4d45b9ffa709050e79e0.png
[3] демо сайте: http://demo.kodicms.ru/backend
[4] Skeleton: https://github.com/butschster/kodicms/tree/dev/cms/plugins/skeleton
[5] Widget Skeleton: https://github.com/butschster/kodicms/tree/dev/cms/plugins/skeleton_widget
[6] Dashboard widget sekeleton: https://github.com/butschster/kodicms/tree/dev/cms/plugins/skeleton_dashboard_widget
[7] ckEditor: http://ckeditor.com/
[8] Image: http://habrastorage.org/files/619/a88/953/619a889533b1429baebc91a850927b0f.png
[9] разделе Wiki на Github: https://github.com/butschster/kodicms/wiki/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BC%D0%B5%D1%82%D0%B0-%D1%82%D0%B5%D0%B3%D0%B0%D0%BC%D0%B8-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86
[10] Пример конфиг файла: https://github.com/butschster/kodicms/blob/dev/cms/plugins/skeleton/config/elfinder.php
[11] Referral links: https://github.com/butschster/kodicms/wiki/Referral-links
[12] Создание виджета: https://github.com/butschster/kodicms/wiki/Widget
[13] Image: http://habrastorage.org/files/7b8/6a1/c42/7b86a1c4278945b3b665de525ee1ee73.png
[14] demo.kodicms.ru: http://demo.kodicms.ru
[15] Вконтакте: http://vk.com/kodicms
[16] Facebook: https://www.facebook.com/kodicms
[17] Источник: http://habrahabr.ru/post/248937/
Нажмите здесь для печати.