Download the PHP package ale10257/multi-site-cms without Composer
On this page you can find all versions of the php package ale10257/multi-site-cms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package multi-site-cms
Заготовка для простой CMS на основе Yii 2 Basic Template
Зависимости
Минимальная версия php - 7.1, база данных - MySql
Особенности
- Данная CMS изначально спроектирована для работы с несколькими сайтами в рамках одного web приложения. Т.е. одна админ панель, и одна БД, для нескольких сайтов с похожим функционалом (multiSite).
- Реализовано разделение на слои. Основной рабочий код в каталоге core. Репозитории работают только с БД, модели форм отвечают только за формы, сервисы работают с контроллерами. Вся логика приложения только в сервисах, которые или возвращают результат контроллеру, или выкидывают исключения.
- В основе работы приложения лежит паттерн DI. Зависимости описаны в файле config/bootstrap/SetUp.php
Установка
composer create-project ale10257/multi-site-cms my-directory
Начало работы
-
В каталоге с приложением переименовать файл config/db-test.php в config/db.php, прописать параметры подключения к базе данных MySql, и последовательно выполнить команды:
php yii migrate
php yii init
При инициализации приложения будет предложено ввести логин, пароль, email для суперпользователя с ролью root
- Создать тестовый домен, например, test.loc, в качестве корневой директории прописать /path/your/application/web/startSite. После инициализации перейти по адресу: test.loc/admin/login, и залогиниться в админке.
Соглашение о константах
Все web директории для сайтов расположены в каталоге web установленного приложения. Например, изначально в папке web есть директория startSite с демо данными. В каталоге web/startSite - единственная точка входа на сайт (и в админ панель, и на фронтэнд) - файл index.php. В данном файле объявлены две глобальные константы SITE_ROOT_NAME и UPLOAD_DIR:
defined('SITE_ROOT_NAME') or define('SITE_ROOT_NAME', 'startSite');
defined('UPLOAD_DIR') or define('UPLOAD_DIR', 'uploads');
Для корректной работы приложения следующие каталоги должны быть названы так же, как константа SITE_ROOT_NAME, (например, если вы присвоили значение test):
- Web каталог web/test должен существовать.
- Конфигурационные файлы должно находиться в папке config/test
- Контроллеры и представления должны находиться в папке sites/test
Константа UPLOAD_DIR определяет название каталога для загружаемых файлов. По умолчанию 'uploads'. Каталог uploads создается автоматически, при первой загрузке какого-либо файла в web директорию.
Как добавить еще один домен в приложение
В каталоге с приложением выполнить команду:
php yii create-domain
Вам будет предложено определить значение константы SITE_ROOT_NAME и имя приложения (домена) - Application Name.
Предположим, что вы определили значение константы SITE_ROOT_NAME как test.
Результат работы команды php yii create-domain:
- В папке config приложения будет создан каталог config/test
- В папке sites приложения будет создан каталог sites/test
- В папке web приложения будет создан каталог web/test
Также необходимо создать новый домен, прописать корневую директорию (/path/your/application/web/test) для созданного домена в вашем web сервере (apache, или ngnix), и перезапустить web сервер, например: sudo service apache2 restart.
Как удалить домен в приложении
В каталоге с приложением выполнить команду:
php yii delete-domain
Вам будет предложено ввести значение константы SITE_ROOT_NAME.
Демо версия приложения
Вход в админ панель управления сайтом: http://kulagin-alex.ru/admin/login
Login: demo
Password: 123456
All versions of multi-site-cms with dependencies
yiisoft/yii2 Version ~2.0.5
yiisoft/yii2-bootstrap Version ~2.0.0
yiisoft/yii2-swiftmailer Version ~2.0.0
creocoder/yii2-nested-sets Version dev-master
dmstr/yii2-adminlte-asset Version ^2.1
newerton/yii2-fancybox-3 Version dev-master
yidas/yii2-fontawesome Version ^2.0
electrolinux/phpquery Version dev-master
himiklab/yii2-recaptcha-widget Version *
phpoffice/phpexcel Version *
ale10257/yii2-ext-for-work-nested-set Version dev-master
kartik-v/yii2-widget-select2 Version @dev
kartik-v/yii2-widget-fileinput Version @dev
yiisoft/yii2-jui Version ~2.0.0
fishvision/yii2-migrate Version *
elisdn/yii2-composite-form Version ^1.0
vova07/yii2-imperavi-widget Version *