Yii2 cms: phpnt/yii2-cms | Extensions | Yii PHP Framework

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 проекта.

Yii — фреймворк на PHP

Yii — это популярный фреймворк для php-разработки, основанный на парадигме MVC. Основное преимущество — очень высокая скорость работы и, как следствие, производительность.

Фреймворк активно развивается сообществом. Yii не выглядит «монстром» по сравнению с фреймворками Symfony и Zend Framework, кодовая база которых весьма объёмна. Фреймворк Yii достаточно прост в освоении и в использовании, что способствует быстрой разработке на нём проектов. Однако при выборе в качестве платформы для создания веб-проекта этого фреймворка стоит всё равно учитывать тот факт, что скорость разработки на нём типовых решений всё равно будет ниже, чем разработка на CMS. Как и все фреймворки, Yii «заточен» под разработку технически сложных веб-проектов: бизнес-приложений, веб-сервисов, а также сайтов со сложной бизнес-логикой и требовательных к быстродействию.

Основные преимущества и возможности фреймворка Yii:

  • Обеспечивает высокую производительность относительно других php-фреймворков
  • Основан на парадигме MVC (Модель-Представление-Контроллер)
  • Есть интерфейсы DAO и ActiveRecord для работы с базами данных (используется PDO)
  • Поддерживает интернационализацию
  • Позволяет кешировать как страницы целиком, так и отдельные фрагменты
  • Осуществляет перехват и обработка ошибок
  • Имеет функционал работы с формами, обеспечивает их построение и валидацию
  • Реализованы аутентификация и авторизация
  • Удобен для реализации AJAX-интерфейсов, интегрируется с jQuery
  • В фреймворк встроены генераторы базового PHP-кода для CRUD-операций (скаффолдинг)
  • Поддерживает темы оформления
  • Имеет возможность подключения сторонних библиотек
  • Работает с миграциями баз данных (генерация, применение и откат)
  • Позволяет осуществлять автоматическое тестирование и вести разработку в стиле TDD
  • Поддерживает стиль REST

До перехода на Ruby on Rails мы достаточно активно использовали Yii для разработки проектов. Этот фреймворк хорошо зарекомендовал себя в проектах с достаточно сложной бизнес-логикой. 

Yii отличается лаконичностью, он достаточно прост в освоении и использовании, но при этом достаточно функционален.

Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. 

Фреймворк — это программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Благодаря использованию фреймворков достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.

Узнать больше →

Фреймворк — правильная платформа для разработки, если нужен нестандартный функционал или если к проекту предъявляются высокие требования по производительности, скорости работы и отказоустойчивости.

Yii — фреймворк на языке программирования PHP, позволяющий разрабатывать сложные сайты и веб-приложения.

Название фреймворка — это акроним «Yes It Is!». Среди PHP-фреймворков Yii выделяется весьма хорошей производительностью и относительной простотой освоения. Также у фреймворка «живое» русскоязычное сообщество.

До перехода на Ruby on Rails мы достаточно много работали именно с Yii, предпочитая его Symfony и Zend, так как с нашей точки зрения этот фреймворк в экосистеме PHP один из наиболее сбалансированных в техническом плане.

Узнать больше →

Мы разрабатываем сложные сайты и веб-приложения на фреймворке Ruby on Rails.

Коробочные CMS не подходят для нестандартных сайтов или при наличии действительно высоких требований к быстродействию и устойчивости к нагрузкам. В этих случаях в качестве платформы для разработки выбирается фреймворк Ruby on Rails.

Если ваш проект требует реализации сложной бизнес-логики, должен работать быстро и быть рассчитан под высокие нагрузки, то Ruby on Rails в качестве платформы для разработки — это хороший выбор.

Узнать больше →

Мы специализируемся на разработке сложных проектов на Ruby on Rails и обладаем многолетним опытом в этом направлении. Разработка на Rails — отличный выбор для проектов со сложной бизнес-логикой и высокими требованиями к безопасности, надёжности и производительности.

Cтатьи по теме:

Выбор между CMS и фреймворком

15.11.2019  |  Статьи  —  бэкенд-разработка  /  CMS  /  фреймворки  /  программные платформы  /  веб-разработка

​Технически любой функционал может быть реализован как на CMS, так и на фреймворке. Однако некоторые проекты проще сделать на CMS, а некоторые — на фреймворке.

Рекомендации по выбору CMS и фреймворков

26.03.2019  |  Статьи  —  бэкенд-разработка  /  CMS  /  фреймворки  /  программные платформы  /  веб-разработка

При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен формализованный алгоритм выбора.

Фреймворк Ruby on Rails

18.01.2019  |  Статьи  —  бэкенд-разработка  /  фреймворки  /  Ruby  /  Ruby on Rails  /  программные платформы  /  веб-разработка

​Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб-приложений: систем для управления веб-сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб-сервисов для осуществления коммуникации, для учетных и ERP-систем, статистических и аналитических систем.

Язык программирования Ruby

07.03.2014  |  Статьи  —  бэкенд-разработка  /  фреймворки  /  языки программирования  /  Ruby  /  Ruby on Rails  /  программные платформы  /  веб-разработка

Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб-разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).

.NET Framework и ASP.NET — платформы для веб-разработки

10.03.2014  |  Статьи  —  бэкенд-разработка  /  фреймворки  /  программные платформы  /  веб-разработка

.NET Framework — это программная платформа, выпущенная компанией Microsoft, которая подходит для разных языков программирования. ASP.NET — технология создания веб-приложений и веб-сервисов от компании Microsoft. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.

Платформы для создания сайтов: CMS, фреймворки и SaaS-решения

14.04.2019  |  Статьи  —  бэкенд-разработка  /  SaaS  /  CMS  /  фреймворки  /  программные платформы  /  веб-разработка

От выбора платформы для разработки зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития веб-проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS-решение.

Django — фреймворк на Python

12.04.2014  |  Статьи  —  бэкенд-разработка  /  фреймворки  /  Python  /  программные платформы  /  веб-разработка

Django — это программный каркас с богатыми возможностями, подходящий для разработки сложных сайтов и веб-приложений, написанный на языке программирования Python.

Тематические технологии:

выполнить/yii2-cms | Расширения | Yii PHP Framework

Создать новое расширение

Категории

Популярные теги

eXeCUT Yii2 CMS ¶

  1. Установка
  2. Использование

Внимание! Бета-версия. Пожалуйста, добавляйте сюда задачи, если найдете ошибки. Постараюсь быстро их исправить

CMS, основанная на модульной системе Yii2 и расширении yii2-crud-fields. Все системные модули являются самостоятельными модулями Yii2 и могут использоваться отдельно от CMS.

Список системных функций и модулей:

Функция Модуль Распространена модулями Состояние разработки
ПЛО псевдоним yii2-files, yii2-images, yii2-news, yii2-pages, yii2-shops
Товары execut/yii2-goods

yii2-

0038

Файлы Exect/YII2-Files YII2-ALIAS, YII2-Goods, YII2-IMAGES, YII2-PAGE

YII2 Files
Меню Exect/YII2-MENU YII2-страницы
САЙТА СОДЕРЖА -товары, yii2-меню, yii2-seo, yii2-карта сайта, yii2-настройки
SEO metadata execut/yii2-seo yii2-files, yii2-pages
Site settings execut/yii2-settings yii2-rbac
Robots. txt Generation Exect/YII2-ROBOTS-TXT
Генерация Sitemap Execute/YII2-Sitemap YII2-Page, YII2-NEW, YII2-Page, YII2-NEW, YII2-Page, YII2-NEW, YII2-Page.0037 In progress
Site settings execut/yii2-settings yii2-pages, yii2-news, yii2-shops
Information pages about chain of stores execut/yii2-shops YII2-SEO Прогнозируется
Блог, статьи и новости Exect/YII2-News YII2-SEO в прогрессе
Управляющий пользователя0038

yii2-rbac In progress
RBAC manager execut/yii2-rbac yii2-users In progress
Feedback execut/yii2-feedback yii2-users, yii2 -Antispam, YII2-Settings в прогрессе
Antispam Protection Exect/YII2-Antispam в прогрессе
. 0038

yii2-goods New
Basket execut/yii2-basket yii2-orders, yii2-antispam New

Supported databases:

  • PostgreSQL
  • MySQL
Установка ¶

Самый простой способ установки — установить приложение на основе yiisoft/yii2-app-advanced.
Чтобы установить Yii2 CMS в свой проект, нужно сделать всего три шага:

  1. Подключить пакет CMS
    1. Если у вас есть существующий проект, вы можете подключить пакет, выполнив команду ` composer require execut/yii2-cms ` .
    2. Если вы собираетесь развернуть Yii2 CMS в новом приложении, вы можете установить готовый шаблон проекта execu/yii2-cms-advanced-template. Инструкции по установке здесь.
  2. Применить миграции ` ./yii migrate/up —interactive 0 `
  3. Создайте пользователя-администратора с помощью команды ` . /yii cms/users/create-admin пароль администратора [email protected] ` ,
    где: admin — логин, password — пароль, [email protected] — электронная почта пользователя
Использование ¶

Если вы использовали стандартные слои layouts/main.php в бэкэнд и фронтенд приложениях, то после установки CMS их надо переопределить.
Все содержимое CMS отображается в этих слоях.
Если этого не произошло, значит, вы используете нестандартные слои, и CMS их не переназначила, думая, что вы хотите использовать свои.
Для использования пользовательского слоя нужно отобразить все элементы для работы CMS в нем по подобию этих двух:
интерфейс.php и
бэкенд.php.

Бэкенд-приложение должно начать отображать разделы и должно появиться меню:

В этом случае внешнее приложение должно отображать страницы вместе с меню:

1 0

3 подписчики