Содержание
Yii2: Simple CMS — одна из первых
Хочу рассказать об одной интересной разработке — 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.
- Проект на github;
- 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 ¶
- Установка
- Использование
Внимание! Бета-версия. Пожалуйста, добавляйте сюда задачи, если найдете ошибки. Постараюсь быстро их исправить
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 в свой проект, нужно сделать всего три шага:
- Подключить пакет CMS
- Если у вас есть существующий проект, вы можете подключить пакет, выполнив команду
`
composer require execut/yii2-cms`
. - Если вы собираетесь развернуть Yii2 CMS в новом приложении, вы можете установить готовый шаблон проекта execu/yii2-cms-advanced-template. Инструкции по установке здесь.
- Если у вас есть существующий проект, вы можете подключить пакет, выполнив команду
- Применить миграции
`
./yii migrate/up —interactive 0`
- Создайте пользователя-администратора с помощью команды
`
. /yii cms/users/create-admin пароль администратора [email protected]`
,
где: admin — логин, password — пароль, [email protected] — электронная почта пользователя
Использование ¶
Если вы использовали стандартные слои layouts/main.php в бэкэнд и фронтенд приложениях, то после установки CMS их надо переопределить.
Все содержимое CMS отображается в этих слоях.
Если этого не произошло, значит, вы используете нестандартные слои, и CMS их не переназначила, думая, что вы хотите использовать свои.
Для использования пользовательского слоя нужно отобразить все элементы для работы CMS в нем по подобию этих двух:
интерфейс.php и
бэкенд.php.
Бэкенд-приложение должно начать отображать разделы и должно появиться меню:
В этом случае внешнее приложение должно отображать страницы вместе с меню:
1 0
3 подписчики
298 Загрузки
YII Версия: 2,0
Лицензия: Apache-2. 0
Категория: Веб-служба
Теги: CMS, Pages, Shop. автор: eXeCUT
Создано: 5 мая 2019 г.
Last updated: (not set)
Packagist Profile
Github Repository
Related Extensions
- yupe-cms
- phpnt/yii2-cms
- diazoxide/yii2-blog
- daxslab/yii2-website-module
- daxslab/yii2-advanced-website
Yii — Какая CMS?
Управление
Этот PHP Framework
Web Framework
yiiframework.com
35 792
Веб-сайты
% 0,45%
TOP 1M Доля рынка
Сравнение
Получить индивидуальный список веб -сайтов с использованием YII
Статистика использования
.
до 0,188%) для всех сайтов, больше, чем для любого другого сегмента за тот же период времени.
Домены верхнего уровня
Веб-сайты, использующие Yii, были найдены на 195 доменах верхнего уровня
- Коммерческие (.com) (36,15%)
- Австралия (.au) (6,915%)
- Великобритания (.uk) (6,208%)
- Организация (.org) (5,613%)
- Россия (.ru) (5,534%)
- Нидерланды (. nl) (4,062%)
- Германия (.de) (3,227%)
- Бельгия (.be) (2,856%)
- Норвегия (.no) (2,571%)
- Швейцария (.ch) (2,547%)
- Новая Зеландия (.nz) (2,137%)
- Австрия (.at) (1,697%)
- Украина (.ua) (1,606%)
- Сеть (.net) (1,551%)
- Канада (.ca) (1,105%)
- Колумбия (.co) (0,665%)
- Италия (.it) (0,662%)
- Европейский союз (.eu) (0,659%)
- Дания (. dk) (0,65%)
- Польша (.pl) (0,634%)
- Британская территория в Индийском океане (.io) (0,549%)
- Казахстан (.