ale10257/multi-site-cms

This package is not auto-updated.

Last update: 2024-09-29 04:43:13 UTC


README

基于 Yii 2 Basic Template 的简单 CMS 模板

依赖关系

最小 PHP 版本 - 7.1,数据库 - MySql

特性

  1. 该 CMS 最初设计用于在单个 Web 应用程序中处理多个网站。即一个管理面板和一个数据库,用于具有相似功能的多个网站(multiSite)。
  2. 实现了分层。主要工作代码位于 core 目录中。仓库只与数据库交互,模型表单只负责表单,服务与控制器交互。所有应用程序逻辑都在服务中,这些服务或向控制器返回结果,或抛出异常。
  3. 应用程序基于 DI 模式。依赖关系在 config/bootstrap/SetUp.php 文件中描述。

安装

composer create-project ale10257/multi-site-cms my-directory

开始使用

  1. 将应用程序目录中的 config/db-test.php 文件重命名为 config/db.php,输入连接到 MySql 数据库的参数,并依次执行以下命令

    php yii migrate

    php yii init

    应用程序初始化时,将提示输入超级用户的登录名、密码和电子邮件,角色为 root

  2. 创建测试域名,例如 test.loc,将根目录设置为 /path/your/application/web/startSite。初始化后,访问地址:test.loc/admin/login,并登录到管理后台。

常量约定

所有网站的 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)

  1. Web 目录 web/test 必须存在。
  2. 配置文件应位于 config/test 文件夹中。
  3. 控制器和视图应位于 sites/test 文件夹中。

UPLOAD_DIR 常量定义了上传文件的目录名称。默认为 'uploads'。在第一次将文件上传到 web 目录时,会自动创建 uploads 目录。

如何在应用程序中添加另一个域名

在应用程序目录中执行以下命令

php yii create-domain

您将被提示指定常量 SITE_ROOT_NAME 和应用程序名称(域名)- 应用程序名称。

假设您已将常量 SITE_ROOT_NAME 的值指定为 test。

php yii create-domain 命令的结果

  1. 在应用程序的 config 目录中创建 config/test 目录。
  2. 在应用程序的 sites 目录中创建 sites/test 目录。
  3. 在应用程序的 web 目录中创建 web/test 目录。

还必须在您的 web 服务器(apache 或 ngnix)中创建新的域名,指定创建的域名的根目录(/path/your/application/web/test),然后重新启动 web 服务器,例如:sudo service apache2 restart。

如何在应用程序中删除域名

在应用程序目录中执行以下命令

php yii delete-domain

您将被提示输入常量 SITE_ROOT_NAME 的值。

应用程序的演示版本

http://kulagin-alex.ru

网站管理后台登录: http://kulagin-alex.ru/admin/login

登录名:demo

密码:123456