goldenscarab/modulus

CMS 开发者专用套件

v1.2.1 2023-09-27 08:56 UTC

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 &copy; ' .  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)。有关更多信息,请参阅 许可文件