vickzkater / lara-s-cms
Laravel 框架。
Requires
- php: ^7.2.5
- doctrine/dbal: ^2.10
- fideloper/proxy: ^4.0
- guzzlehttp/guzzle: ^7.0
- intervention/image: ^2.5
- laravel/framework: ^7.0
- laravel/socialite: ^4.4
- laravel/tinker: ^2.0
- maatwebsite/excel: ^3.1
- nztim/mailchimp: ^3.11
- simplesoftwareio/simple-qrcode: ~3
- yajra/laravel-datatables-oracle: ~9.0
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.5
- beyondcode/laravel-dump-server: ^1.0
- facade/ignition: ^2.0
- filp/whoops: ^2.0
- mockery/mockery: ^1.0
- nunomaduro/collision: ^4.1
- phpunit/phpunit: ^9
- dev-master
- v2.0.8.x-dev
- v2.0.7.x-dev
- v2.0.7
- v2.0.6.x-dev
- v2.0.6
- v2.0.5.x-dev
- v2.0.5
- v2.0.3.x-dev
- v2.0.3.2
- v2.0.3.1
- v2.0.3
- v2.0.2.x-dev
- v2.0.2
- v2.0.1.x-dev
- v2.0.1
- v2.0.0.x-dev
- v2.0
- v1.2.3.x-dev
- v1.2.3
- v1.2.2.x-dev
- v1.2.2
- v1.2.1
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/symfony/http-kernel-5.4.20
This package is auto-updated.
Last update: 2024-09-20 00:18:21 UTC
README
LARA-S-CMS
*最新版本:2.0.7 (Laravel 7.30.4)
"Lara-S-CMS" 是什么?
这是一个使用 Bootstrap 4 管理仪表板模板 Gentelella 作为管理模板的 PHP Laravel 骨架,适用于内容管理系统 (CMS) 或(在/不在网站内)的仪表板。
作为网站示例,我们使用的是免费 Bootstrap 4 网站模板 Modern Business
Laravel (S) 内容管理系统
- 骨架 💀
- 简单 😃
- 示例 🤓
- 标准 💯
- 智能 🧠
- 复杂 💡
- 超级 💪
- 不满意? 💢
- 旋转器 🤣
自 2019 年 9 月由 @vickzkater 开发(由 KINIDI Tech 支持)
功能
- 支持多语言
- 管理员登录
- 我的资料
- 公司/子公司管理
- 按办公室管理分支机构
- 规则管理
- 用户组管理
- 用户(管理员)管理
- 访问/权限/用户角色管理
- 简单的系统日志
- 恢复已删除数据
- 自定义 404 错误页面
- 自定义维护模式
- 产品管理(作为模块示例,包括上传图片功能)
- 支持 DataTables AJAX
- 支持 reCAPTCHA v2(可选,用于管理员面板和用户面板)
- 可排序的数据列表(在横幅模块中)
- 可排序并带有过滤器的数据列表(在分支机构模块中 - 按部门过滤)
- 应用程序配置
- 导入和导出 Excel 文件(在产品模块中)
- 删除上传的图片(在产品模块中)
- 富文本编辑器/WYSIWYG 使用 TinyMCE(在产品模块中)
- 日期选择器(在产品模块中)
- 辅助 PHP - 许多 PHP 辅助函数,可用于您的项目
- 支持 GoSMSGateway API - 发送短信(在 DevController 中)
- 支持 Mailchimp API(在 DevController 中)
- PageBuilder(在文章中)
- 辅助 JS - 许多 JS 辅助函数,可用于您的项目
- 横幅管理
- 二维码生成器
- 通过社交媒体(Google/Facebook)登录
- 支持后端模式(模型或 API)
- 支持上传文件(PDF/TXT/DOCS 等)
- 支持 Session 驱动数据库(请参阅
Session 驱动数据库
部分) - 安全更新:如果密码已更改,则强制用户重新登录
- 从所有会话中注销的功能
- 示例函数发送电子邮件和电子邮件模板(支持 HTML 和纯文本)
- 生成缩略图(在文章模块中用于保存缩略图)
- 支持单向短信网关 API - 发送短信(在 DevController 中)
- 添加支持 Instagram 登录 - 要使用它,请阅读 Instagram 的官方指南
- 设置 Open Graph 配置(基于 ogp.me,Twitter 开发文档,以及 FB 开发文档)
- Guzzle-Client 辅助函数(请参阅 Controller.php)
管理员面板
网站
版本
要求
- PHP >= 7.3
- Laravel 7.x 要求
安装 Lara-S-CMS
lara-s-cms 使用 Composer 来管理其依赖项。因此,在开始使用 lara-s-cms 之前,请确保您已在您的计算机上安装了 Composer。
Composer 创建项目
您还可以通过在终端中运行 Composer 的 create-project
命令来安装 lara-s-cms。
composer create-project vickzkater/lara-s-cms --prefer-dist website
设置
创建项目后,切换到项目根目录,例如:运行 cd website
命令,并执行设置数据库和配置文件的命令(如果安装时未生成密钥)。
php artisan key:generate
应用密钥
安装 lara-s-cms 后,您应该将应用密钥设置为一个随机字符串。如果您通过 Composer 或 lara-s-cms 安装程序安装了 lara-s-cms,则此密钥已经通过 key:generate
命令为您设置。通常,此字符串应长 32 个字符。该密钥可以设置在 .env
环境文件中。如果您尚未将 .env.example 文件重命名为 .env,现在应该这样做。如果未设置应用密钥,则您的用户会话和其他加密数据将不安全!
接下来,在 .env
文件中设置环境配置
-
设置
APP_NAME
为应用程序名称 -
设置
DISPLAY_SESSION
以在 Admin - Footer 中启用/禁用显示会话(开发目的) -
设置
APP_MODE
以设置应用程序模式(预发布/LIVE) -
设置
APP_VERSION
以设置应用程序版本 -
设置
APP_BACKEND
以选择应用程序后端模式(模型或 API);如果使用 API,请确保APP_URL_API
不为空 -
设置
ADMIN_CMS
以启用/禁用管理面板 -
设置
ADMIN_DIR
以设置应用程序或管理系统目录名称(如果仅使用管理仪表板,则留空) -
设置
APP_URL_SITE
以设置用于社交媒体登录的应用程序 URL -
设置
APP_URL_API
以设置 API URL;如果此项目使用后端模式 API(APP_BACKEND
=API),请确保此值不为空 -
设置
API_USER
以设置 API 认证凭据(可选) -
设置
API_PASS
以设置 API 认证凭据(可选) -
设置
APP_TIMEZONE
以设置应用程序时区,例如:UTC(GMT)或 Asia/Jakarta(GMT+7)或 Asia/Kuala_Lumpur(GMT+8) -
设置
APP_MAINTENANCE_UNTIL
以设置应用程序维护截止日期,使用格式(年,月 - 1,日) -
设置
MULTILANG_MODULE
以启用/禁用应用程序中的多语言模块 -
设置
DEFAULT_LANGUAGE
以设置应用程序中的默认语言 -
设置
META_DESCRIPTION
以设置元描述 -
设置
META_AUTHOR
以设置元作者 -
设置
APP_FAVICON_TYPE
以设置favicon类型(ico/png等) -
设置
APP_FAVICON
以根据文件图像设置应用程序favicon(输入图像路径),例如:favicon文件位于public/images目录路径,然后设置为'images/favicon.ico' -
设置
APP_LOGO
以根据 Font Awesome 设置应用程序logo(输入不带'fa-'的图标名称,例如:star/laptop/bank) -
设置
APP_LOGO_IMAGE
以根据文件图像设置应用程序logo(输入图像路径),例如:logo图像位于"public/images"目录路径,然后设置为"images/logo.png" -
设置
POWERED
以显示开发者名称 -
设置
POWERED_URL
以显示开发者URL -
设置
MAIL_MODULE
以启用/禁用邮件模块 -
设置
MAIL_FROM_NAME
以设置发件人电子邮件的名称 -
设置
MAIL_FROM_ADDRESS
以设置发件人电子邮件的地址 -
设置
MAIL_REPLYTO_NAME
以设置回复电子邮件的名称 -
设置
MAIL_REPLYTO_ADDRESS
以设置回复电子邮件的地址 -
设置
MAIL_CONTACT_NAME
以设置联系电子邮件的名称(用于从“联系我们”页面接收电子邮件) -
设置
MAIL_CONTACT_ADDRESS
以设置联系电子邮件的地址(用于从“联系我们”页面接收电子邮件) -
设置
RECAPTCHA_SITE_KEY
以设置 GOOGLE reCAPTCHA -
设置
RECAPTCHA_SECRET_KEY
以设置 GOOGLE reCAPTCHA -
在管理仪表板中设置
RECAPTCHA_SITE_KEY_ADMIN
以设置 GOOGLE reCAPTCHA -
在管理仪表板中设置
RECAPTCHA_SECRET_KEY_ADMIN
以设置 GOOGLE reCAPTCHA -
设置
AUTH_WITH_PROVIDER
以启用/禁用使用社交媒体/提供者的登录 -
设置
GOOGLE_CLIENT_MODULE
以启用/禁用 GOOGLE API 身份验证 -
设置
GOOGLE_CLIENT_ID
以设置 GOOGLE API 身份验证 -
设置
GOOGLE_CLIENT_SECRET
以设置 GOOGLE API 身份验证 -
设置
GOOGLE_CALLBACK_URL
以设置 GOOGLE API 身份验证回调 URL -
设置
FACEBOOK_CLIENT_MODULE
以启用/禁用 FACEBOOK API 身份验证 -
设置
FACEBOOK_CLIENT_ID
以设置 FACEBOOK API 身份验证 -
设置
FACEBOOK_CLIENT_SECRET
以设置 FACEBOOK API 身份验证 -
设置
FACEBOOK_CALLBACK_URL
以设置 FACEBOOK API 身份验证回调 URL -
设置
INSTAGRAM_CLIENT_MODULE
以启用/禁用 INSTAGRAM API 身份验证 -
设置
INSTAGRAM_CLIENT_ID
以设置 INSTAGRAM API 身份验证 -
设置
INSTAGRAM_CLIENT_SECRET
以设置 INSTAGRAM API 身份验证 -
设置
INSTAGRAM_CALLBACK_URL
以设置 INSTAGRAM API 身份验证回调 URL -
设置
FCM_SERVER_KEY
以设置 Firebase 推送通知 -
设置
FCM_SENDER_ID
以设置 Firebase 推送通知 -
设置
SMS_MODULE
以启用/禁用 SMS 模块 -
设置
GOSMS_AUTH_USER
以设置 GoSMSGateway 凭据 -
设置
GOSMS_AUTH_PASS
以设置 GoSMSGateway 凭据 -
设置
ONEWAYSMS_API
以设置 OnewaySMS 网关 API URL -
设置
ONEWAYSMS_AUTH_USER
以设置 OnewaySMS 网关凭据 -
设置
ONEWAYSMS_AUTH_PASS
以设置 OnewaySMS 网关凭据 -
设置
MC_KEY
以设置 Mailchimp API 密钥 -
设置
MC_LIST_ID
以设置 Mailchimp 列表 ID -
设置
MC_TAG_DEFAULT
以设置 Mailchimp 标签 ID 作为默认值
数据库设置
您必须运行数据库迁移才能运行此应用程序。
确保在 .env
文件中正确设置了 DB_DATABASE
,然后运行迁移以创建数据库结构和一些系统数据
php artisan migrate
迁移完成后,运行命令 php artisan serve
或浏览链接以查看管理登录页面(应用程序 URL 加上 /ADMIN_DIR
- 基于 .env
)。
http://path-to-project-folder/public/manager
登录详细信息(默认)
管理员
Username: superuser
Password: sudo123!
配置
基本配置
目录权限
在安装 Lara-S-CMS 后,您可能需要配置一些权限。存储和 bootstrap/cache
目录内的目录应由您的 Web 服务器可写。如果您使用的是 Homestead 虚拟机,这些权限已经设置好了。
另外,还需要配置 public/uploads/
目录的权限。这样,产品模块中的上传照片功能才能正常工作。
chmod o+w -R public/uploads/
*如果设置完所有配置后,仍显示错误“500 内部服务器错误”
注释 .htaccess
文件的第一行以修复此问题
#Header always set Content-Security-Policy: upgrade-insecure-requests
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
*) 此问题仅报告在某些托管服务器上发生,例如 AWS(亚马逊云服务)
*供您参考
app\Libraries\
目录中的CustomFunction.php
,因为它已在composer.json
中设置,会在网页加载时自动调用app\Libraries\
目录中的Helper.php
可以通过代码use App\Libraries\Helper;
在控制器/视图中调用,以调用一些辅助函数
重要提示!
请在生产环境中将 APP_DEBUG
设置为 false
以禁用 Laravel Debugbar。
Session 驱动数据库
当使用 database
会话驱动时,您需要创建一个包含会话项的表。以下是该表的示例 Schema
声明
Schema::create('sessions', function ($table) {
$table->string('id')->unique();
$table->foreignId('user_id')->nullable();
$table->string('ip_address', 45)->nullable();
$table->text('user_agent')->nullable();
$table->text('payload');
$table->integer('last_activity');
});
您可以使用 session:table
Artisan 命令来生成此迁移
php artisan session:table
php artisan migrate
您需要在 Illuminate\Session\DatabaseSessionHandler.php
文件中进行一些修改。
...
protected function addUserInformation(&$payload)
{
if ($this->container->bound(Guard::class)) {
$payload['user_id'] = $this->userId();
}
// ADDED FOR LARA-S-CMS BY KINIDI TECH - BEGIN
if(\Session::has('admin')){
$larascms_user = \Session::get('admin');
$payload['user_id'] = $larascms_user->id;
}
// ADDED FOR LARA-S-CMS BY KINIDI TECH - END
return $this;
}
...
维护模式
当您的应用程序处于维护模式时,自定义视图将显示在所有进入您应用程序的请求中。这使得在更新或进行维护时“禁用”应用程序变得容易。您的应用程序默认中间件堆栈中包含维护模式检查。如果应用程序处于维护模式,将抛出一个具有状态码503的HttpException。
要启用维护模式,只需执行 down
Artisan 命令
php artisan down
要禁用维护模式,请使用 up
命令
php artisan up
即使在维护模式下,也可以使用命令允许特定的IP地址或网络访问应用程序
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
来源: Laravel 文档
维护模式响应模板
维护模式响应的默认模板位于 resources/views/errors/503.blade.php
和 public/maintenance/
使用的软件包(Laravel之外)
- yajra/laravel-datatables-oracle - 用于在表中显示数据列表
- maatwebsite/excel - 用于导出和导入Excel数据
- guzzlehttp/guzzle - 用于发送HTTP请求,易于与Web服务集成
- nztim/mailchimp - 用于Mailchimp API
- simplesoftwareio/simple-qrcode - 用于生成二维码
- laravel/socialite - 用于使用社交媒体登录
- intervention/image - 用于生成缩略图
- Laravel Debugbar - 用于开发
使用的库
- 辅助 PHP - 许多 PHP 辅助函数,可用于您的项目
- 辅助 JS - 许多 JS 辅助函数,可用于您的项目
- GoSMSGateway API - Laravel 库 (GoSms)
- Mailchimp API Helper - Laravel 库 (MailchimpHelper)
- PageBuilder(使用内容元素构建页面)
- One Way SMS Gateway API - Laravel 库 (OnewaySms)
Lara-S-CMS 已被以下收录
- PHP Weekly - phpweekly.com
贡献
感谢您考虑为Lara-S-CMS做出贡献。
错误、改进和安全漏洞
如果您在Lara-S-CMS中发现错误或安全漏洞,请发送电子邮件到Vicky Budiman vicky@kiniditech.com。所有请求都将得到及时处理。
问题
如果您遇到任何问题/错误,请在此报告。
许可证
Lara-S-CMS 是由KINIDI Tech和贡献者构建的开源软件,并许可在 MIT 许可证 下。
致谢
- Vicky Budiman (https://github.com/vickzkater)
- Laravel (https://github.com/laravel/laravel)
- ColorlibHQ (https://github.com/ColorlibHQ/gentelella)
- Start Bootstrap (https://startbootstrap.com/)
由
KINIDI Tech