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. Алексей

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *