studiocreativateam / base
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Package info
bitbucket.org/studiocreativateam/base
Type:package
pkg:composer/studiocreativateam/base
Requires
- php: ^8.1
- barryvdh/laravel-debugbar: ^3.8
- barryvdh/laravel-ide-helper: ^2.12
- bensampo/laravel-enum: ^6.0
- darkaonline/l5-swagger: ^8.3
- diglactic/laravel-breadcrumbs: ^8.0
- kyslik/column-sortable: ^6.4
- laravel/framework: ^9.0|^10.0
- laravel/octane: ^2.0
- laravel/tinker: ^2.7
- laravelcollective/html: ^6.3
- oat-sa/composer-npm-bridge: ^0.4
- predis/predis: ^2.0
- reedware/laravel-relation-joins: ^4.0
- spatie/laravel-data: ^4.0|^5.0
- spatie/laravel-html: ^3.2
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
This package is auto-updated.
Last update: 2024-03-18 08:27:13 UTC
README
This package is used as a base for SCTeam
Installation
1. Require package in your composer.json:
composer require studiocreativateam/base
Run below command to overwrite config/breadcrumbs.php settings
php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="config-base" --force
Publishing
In this package you can publish below files:
- views
php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="views" - config
php artisan vendor:publish --provider="SCTeam\Base\SCTeamServiceProvider" --tag="config"
Clear cache / delete cached js-css files
Command: php artisan cache:flush
Get request: /admin/cache/flush
add to composer.json:
{
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
...
"@php artisan cache:flush"
]
}
}
Clear cache by keys:
ClearCacheFiredEvent::dispatch([...keys])
How to add global scope:
- Create Scope class:
<?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]
]
]
],