Yii2: Simple CMS — одна из первых

yii2 simple cmsХочу рассказать об одной интересной разработке — simple cms. Она появилась одна из первых систем управления содержимым сайта на yii 2.0.

Simple cms позволяет управлять структурой страниц frontend части yii2 приложения. В настоящий момент она находится в разработке. Релиз намечен на конец января 2015 года.

По сути, simple cms является расширением, которое реализует простые методы создания и изменения содержимого frontend, включая навигацию, полнотекстовый поиск, управление изображениями и документами, продвинутый wysiwyg редактор для содержимого страниц.

Система управления доступом отсутствует, вместо этого реализованы три состояния материалов:

  1. Видимый всем;
  2. Видимый только по ссылке или поиску;
  3. Скрытый.

Так же, расширение поддерживает интернационализацию.

Установка

Установка расширения проста, сначала выполняем команду:

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.

Ссылки

  1. Проект на github;
  2. Wiki проекта.

13 thoughts on “Yii2: Simple CMS — одна из первых”

  1. Serge

    При попытке запуска установки через 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

    1. nix Автор записи

      Действительно, автор расширения внес изменения и теперь для установки нужно выполнить команду: composer require «schallschlucker/yii2-simple-cms»: «>=0.1»

  2. Сергей

    Добрый день!
    Правильно понимаю, что эта CMS ставится поверх yii2basic? а не используется самостоятельно?

    1. nix Автор записи

      Почти верно, Сергей. Расширение подключается к приложению. Вам виднее, какое приложение: basic, advanced, еще какое-нибудь шаблонное или свое;)

  3. Николай

    Доброе время суток

    я установил и подключил цмс
    c2n.me/3eb5FrX
    c2n.me/3eb5PYS

    у меня открывается «advanced»
    c2n.me/3eb6IyP
    c2n.me/3eb6E9j

    я не понял как открыть сам цмс?

  4. Сергей

    Все установилось без зазоринки , миграци прошла тоже на ура.
    а при входе по адресу выдает, 404
    с правами все нармально

    1. nix Автор записи

      Нужно проверить адресацию. Причину можно найти при помощи отладчика.

  5. Chekmag

    Подскажите как подключить эту CMS? В каком файле надо добавлять код из примера подключения.

  6. HejVkt

    эта cms явно недопилина, в данный момент при создании содержания должно создаваться и меню, но этого не происходит :) почему я уже не стал разбираться. Нет кнопки удаления из иерархии и вообще куча недоработок. В общем не тратьте время.

    1. Алексей

      Вот только не надо про недопиленность. Никто никому ничего не должен. Заготовка замечательная. Что не хватает пишем руками.
      Спасибо огромное автору за инфу.