larave-adminlte3で写真スタジオ用の事務ページを作ってるのだが、設定ファイルがconfig/以下にあるため、静的設定しか出来ない。
config関数で呼び出し可能な値は,config/内ファイルを一括で処理して取得されているため、残念ながらconfig内でconfig/内に設定されている他の値を使うことが出来ないし、ミドルウエア風に別変数を加えることも不可能であるが、
Menu Configuration · jeroennoten/Laravel-AdminLTE Wiki · GitHub
Easy AdminLTE integration with Laravel. …
github.com
にあるように、実装されているサービス・プロバイダを使えば設定できる。
php - Adminlte in Laravel sidebar update label on runtime - Stack Overflow
This is my menu array format in adminlte…
stackoverflow.com
AppServiceProviderで、laravel-adminlteのBuidingMenuクラスを呼び出し値を追加するというやりかた。これだと、config/内で定義した変数も含めて利用が可能となる。
public function boot(Dispatcher $events)
{
$events->listen(BuildingMenu::class, function (BuildingMenu $event) {
$event->menu->add('MAIN NAVIGATION');
$event->menu->add([
'text' => myConfig::title(),//他の自作クラスをコールした戻り値
'url' => config('my.blog_url'),//configの自作定義の値
]);
});
}
みたいな感じ。ただしこれはmenu配列のみ有効。
(vendor/jeroennoten/laravel-adminlte/src/AdminLteServiceProvider.phpを見る限り)
いずれにせよサービスプロバイダ重要だなあ。