Хочу рассказать об одной интересной разработке — simple cms. Она появилась одна из первых систем управления содержимым сайта на yii 2.0.
Simple cms позволяет управлять структурой страниц frontend части yii2 приложения. В настоящий момент она находится в разработке. Релиз намечен на конец января 2015 года.
По сути, simple cms является расширением, которое реализует простые методы создания и изменения содержимого frontend, включая навигацию, полнотекстовый поиск, управление изображениями и документами, продвинутый wysiwyg редактор для содержимого страниц.
Система управления доступом отсутствует, вместо этого реализованы три состояния материалов:
- Видимый всем;
- Видимый только по ссылке или поиску;
- Скрытый.
Так же, расширение поддерживает интернационализацию.
Установка
Установка расширения проста, сначала выполняем команду:
php composer.phar require "schallschlucker/yii2-simple-cms": ">=0.1"
Затем выполняем миграцию для создания нужных таблиц в базе данных:
php yii migrate/up --migrationPath=@schallschlucker/simplecms/migrations
Использование
Расширение состоит из двух модулей: forntend и backend.
Frontend
Данный модуль содержит:
- Контроллеры, необходимые для отображения материалов, документов, формы поиска, страницы с результатами поиска.
- Виджеты для отображения меню (расширяет yii\bootstrap\Nav), строки поиска, расширенного поиска, результатов поиска.
Backend
Этот модуль предоставляет возможности управления древовидной структурой содержимого, включая drag and drop, горячие клавиши и контекстное меню.
Детали
Оба модуля могут быть использованы в одном приложении, но рекомендуется использовать разделение на frontend и backend, для простоты разделения клиентской и административной частей.
Пример подключения
'components' => [ ... 'simplecmsLanguageManager' => [ 'class' => 'schallschlucker\simplecms\LanguageManager', 'languageIdMappings' => [ '1' => [ 'id' => 1, 'code' => 'de', 'displaytext' => [ 'de' => 'deutsch', 'en' => 'german', 'pl' => 'niemiecki', 'tr' => 'alman', ], ], 'de-DE' => [ 'alias' => '1' ], '2' => [ 'id' => 2, 'code' => 'en', 'displaytext' => [ 'de' => 'englisch', 'en' => 'english', 'pl' => 'angielski', 'tr' => 'ingilizce', ], ], 'en-US' => [ 'alias' => '2', ], ], ], 'modules' => [ ... 'cms_backend' => [ 'class' => 'schallschlucker\simplecms\Backend', 'languageManager' => 'simplecmsLanguageManager' ], 'cms' => [ 'class' => 'schallschlucker\simplecms\Frontend', 'languageManager' => 'simplecmsLanguageManager' ], ],
Заключение
Проекты, подобные этому, очень полезны для начинающих разработчиков. Изучение структуры и кода таких систем поможет лучше понять идеологию и методологию создания приложений, а так же, раскроет многие детали использования php-фреймворка yii 2.0.
При попытке запуска установки через Composer появляется ошибка:
[InvalidArgumentException]
Could not find package dev-master at any version for your minimum-stability (stable). Check the package
spelling or your minimum-stability
Скриншот:
joxi.ru/VrwMGv7CvVdd2X
Действительно, автор расширения внес изменения и теперь для установки нужно выполнить команду: composer require «schallschlucker/yii2-simple-cms»: «>=0.1»
Добрый день!
Правильно понимаю, что эта CMS ставится поверх yii2basic? а не используется самостоятельно?
Почти верно, Сергей. Расширение подключается к приложению. Вам виднее, какое приложение: basic, advanced, еще какое-нибудь шаблонное или свое;)
Доброе время суток
я установил и подключил цмс
c2n.me/3eb5FrX
c2n.me/3eb5PYS
у меня открывается «advanced»
c2n.me/3eb6IyP
c2n.me/3eb6E9j
я не понял как открыть сам цмс?
Николай, перейти в админку можно по ссылке:
http://simplecms.test/index.php?r=simplecms_backend
или http://simplecms.test/simplecms_backend
Пора уже написать подробную статью по использованию этого расширения?
Да, пора)
Все установилось без зазоринки , миграци прошла тоже на ура.
а при входе по адресу выдает, 404
с правами все нармально
Нужно проверить адресацию. Причину можно найти при помощи отладчика.
Подскажите как подключить эту CMS? В каком файле надо добавлять код из примера подключения.
эта cms явно недопилина, в данный момент при создании содержания должно создаваться и меню, но этого не происходит :) почему я уже не стал разбираться. Нет кнопки удаления из иерархии и вообще куча недоработок. В общем не тратьте время.
Вот только не надо про недопиленность. Никто никому ничего не должен. Заготовка замечательная. Что не хватает пишем руками.
Спасибо огромное автору за инфу.
Сначала покрутил simpe CMS, потом https://github.com/noumo/easyii
Как то EASYII CMS мне больше глянулась для простого сайта.