goldenscarab / modulus
CMS 开发者专用套件
Requires
- php: >=7.2
- barryvdh/laravel-debugbar: >=3
- barryvdh/laravel-elfinder: >=0.4
- goldenscarab/modulus-helpers: >=1.0.4
- goldenscarab/modulus-service-field: >=1.1.4
- goldenscarab/modulus-service-template: >=0.1.6
- maatwebsite/excel: >=3
- nwidart/laravel-modules: >=8.2.0
- spatie/laravel-cookie-consent: >=2
- spatie/laravel-permission: >=5.1
README
CMS 个人
需求
- Composer
- PHP >= 7.3
- Laravel >= 7
安装
使用 composer 安装此包。
composer require goldenscarab/modulus
Laravel 5.8 使用自动加载文件,因此不需要您手动添加 ServiceProvider。
发布
php artisan vendor:publish --provider="Goldenscarab\Modulus\App\Providers\PublishesServiceProvider" --force
安装前端依赖项
bash vendor/goldenscarab/modulus/assets_install.sh
配置资源
将文件 resources/js/app.js 中的 require('./bootstrap') 替换为
require('./modulus.js')
在文件 resources/scss/app.scss 中添加(如有必要则创建文件)
@import "./modulus.scss"
使用以下内容更新您的 webpack.mix.js
// Modulus
mix.alias({
'@modulus': 'vendor/goldenscarab/modulus'
});
mix.js('resources/js/app.js', 'public/js/app.js').vue()
.sass('resources/sass/app.scss', 'public/css/app.css');
// Copy librairies in public folder
mix.copyDirectory('node_modules/tinymce', 'public/packages/tinymce');
mix.copyDirectory('node_modules/ace-builds/src-min-noconflict', 'public/packages/ace');
if (mix.inProduction()) {
mix.version();
}
编译资源
npm run dev
配置
modulus.php 文件
编辑 config/modulus.php 文件,如示例所示
<?php
return [
/**
* Classe définissant la couleur de fond du bandeau logo
* default: bg-info
*/
'band_color_class' => 'bg-info',
/**
* Icone du nom de l'application
* default: <i class="fa fa-puzzle-piece align-middle ml-3" style="font-size: 26px;"></i>
*/
'label_icon' => '<i class="fa fa-puzzle-piece align-middle ml-3" style="font-size: 26px;"></i>',
/**
* Nom de l'application
* default: <b>M</b>odulus
*/
'label_name' => '<b>E</b>xtranet',
/**
* Préfixe des url de Modulus
* default: /backend
*/
'url_prefix' => '/',
/**
* Namespace des constroleurs à surcharger
* default: Goldenscarab\\Modulus\\App\\Http\\Controllers
* - DashboardController
*/
'dashboard_action' => 'App\\Http\\Controllers\\DashboardController@index',
/**
* Message du footer
*/
'msg_footer_right' => 'La simplicité dans le sur mesure',
'msg_footer_left' => '<strong>Copyright © ' . date('Y') . ' <a href="https://www.goldenscarab.fr" target="_blanc">Goldenscarab.</a></strong> All rights reserved.'
];
路由
您可以从 config/modulus.php 配置文件中自定义访问 Modulus 的基本 URL。如果您想将 Modulus 的 URL 定位到域名的根目录,请考虑清理 routes/web.php 文件中的默认路由。
您还可以通过更改 config/modulus.php 文件中的 namespace_custom 参数来自定义仪表板。这样,您就可以将 DashboardController@index 路由重定向到您选择的命名空间。例如
php artisan make:controller DashboardController
在 config/modulus.php 文件中
'dashboard_action' => 'App\\Http\\Controllers\\DashboardController@index',
现在,您只需要自定义新创建的控制器中的 index 方法以显示新的仪表板。对于视图,您可以使用以下模型
@extends('modulus::layouts.app.adminlte')
@section('content')
<h1>Dashboard</h1>
<!-- Ici le HTML -->
@endsection
@push('scripts')
<script>
// Ici le javascript
</script>
@endpush
@push('styles')
<style>
/* Ici le style */
</style>
@endpush
中间件
将以下行添加到 app/Http/Kernel.php 文件中的 $routeMiddleware 变量
/* Middlewares ajoutés */
'auth.active' => \Goldenscarab\Modulus\App\Http\Middleware\RedirectIfNotActive::class,
'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
应用
编辑应用程序根目录下的 .env 文件以配置数据库访问
迁移
配置数据库访问后,是时候创建表并使用初始数据填充数据库了
php artisan migrate --seed
模块
您可以将应用程序创建为模块。示例模块位于 /Modules 文件夹中
为了允许模块的类自动加载,您需要修改 composer.json 文件,如下所示
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/"
}
}
}
要复制模块示例
cd Modules/
bash duplicate.sh Small [ModuleName]
然后,您可以使用以下命令在模块中添加资源: php artisan modulus:make-resource [MyResource] [ModuleName]
安全
如果您发现任何安全相关的问题,请通过 contact@goldenscarab.fr 发送电子邮件,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件