此包的规范存储库似乎已消失,因此已冻结此包。

安装量: 1,495

依赖项: 1

建议者: 0

安全性: 0

类型:package

0.5.0 2024-03-15 17:14 UTC

This package is auto-updated.

Last update: 2024-03-18 08:27:13 UTC


README

此包用作SCTeam的基础

安装

1. 在你的 composer.json 中要求包

  • composer require studiocreativateam/base

运行以下命令以覆盖 config/breadcrumbs.php 设置

php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="config-base" --force

发布

在此包中,你可以发布以下文件

  • 视图 php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="views"
  • 配置 php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="config"

清除缓存 / 删除缓存的js-css文件

命令: php artisan cache:flush 请求: /admin/cache/flush

添加到 composer.json

{
  "scripts": {
    "post-autoload-dump": [
      "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
      ...
      "@php artisan cache:flush"
    ]
  }
}

通过键清除缓存

ClearCacheFiredEvent::dispatch([...keys])

如何添加全局作用域

  1. 创建作用域类
    <?php
    

namespace SCTeam\Package\Scopes;

use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use SCTeam\Package\Models\Some; use SCTeam\Base\Models\GlobalScope;

class InCompany extends GlobalScope {

public static function model(): array|string
{
    return [
        \SCTeamAuth::userModelClass(),
        Some::class,
    ];
}

public function apply(Builder $builder, Model $model): void
{
    $builder->whereHas('company');
}

}

in the _model_ function, pass the names of the models for which globalscope is to be applied
2. Declare your custom global scope in service provider:

class SCTeamServiceProvider extends BaseSCTeamServiceProvider {

/// ...
protected function globalScopes(): array|string
{
    return InCompany::class;
}
/// ...

}

3. Add trait to your model:

use HasHookGlobalScope;


# Sidebar configuration
### Add to config/config.php

'sidebar_elements' => [

\SCTeam\Base\Enums\LeftSidebarHook::Shop => [
    100 => [ /// 100 is priority
        'key' => 'some-key', // use to dynamic submenu positions
        'text' => 'scteam.package::common.some',
        'icon' => 'fa-solid fa-info',
        'badge' => [SomeRepository::class, 'method'],
        'submenu' => [
            100 => [
                'text' => 'scteam.package::common.somes',
                'route' => 'package.somes.index',
                'active' => ['admin/package/somes*'],
                'icon' => false,
                'can' => [SomePermissions::SomeList],
            ],
        ],
    ],
]

],

### How to add dynamic submenu position

'sidebar_elements' => [

\SCTeam\Base\Enums\LeftSidebarHook::Shop => [
    360 => [
        'add_to' => 'some-key', // this is important
        'text' => 'scteam.package::common.some-sub-position',
        'route' => 'package.some-sub.index',
        'icon' => false,
        'active' => ['admin/package/some-sub*'],
        'can' => [SomeSubPermissions::SomeSubList]
    ]
]

],