From 247b490185f3ff4831bcb3eaf57a950fddf26c11 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Fri, 19 Jul 2024 04:55:00 +0330 Subject: [PATCH] added menu to setting added menu seeder --- .../Controllers/Admin/SettingController.php | 4 ++- app/Models/Setting.php | 2 +- database/factories/MenuFactory.php | 3 +- database/seeders/MenuSeeder.php | 31 +++++++++++++++++++ .../views/components/setting-field.blade.php | 12 +++++++ 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Admin/SettingController.php b/app/Http/Controllers/Admin/SettingController.php index 0b89441..07d6af1 100644 --- a/app/Http/Controllers/Admin/SettingController.php +++ b/app/Http/Controllers/Admin/SettingController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use App\Http\Requests\SettingSaveRequest; use App\Models\Category; use App\Models\Group; +use App\Models\Menu; use App\Models\Setting; use Illuminate\Http\Request; @@ -20,9 +21,10 @@ class SettingController extends Controller $settings = Setting::where('active', 1) ->orderBy('section')->get(); //ESH// just active setting`s show $cats = Category::all(['id','name']); + $menus = Menu::all(['id','name']); $groups = Group::all(['id','name']); return view('admin.commons.setting', - compact('settings', 'cats','groups')); + compact('settings', 'cats','groups','menus')); } /** diff --git a/app/Models/Setting.php b/app/Models/Setting.php index 6c17ff4..b15f6ba 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -13,7 +13,7 @@ class Setting extends Model public $translatable = ['value']; public static $settingTypes = ['TEXT','NUMBER', 'LONGTEXT', 'CODE', 'EDITOR', - 'CATEGORY', 'GROUP', 'CHECKBOX', 'FILE', 'COLOR','SELECT']; + 'CATEGORY', 'GROUP', 'CHECKBOX', 'FILE', 'COLOR','SELECT','MENU']; public function getData(){ return json_decode($this->data,true); diff --git a/database/factories/MenuFactory.php b/database/factories/MenuFactory.php index 9de97b0..009ab4a 100644 --- a/database/factories/MenuFactory.php +++ b/database/factories/MenuFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; /** @@ -17,7 +18,7 @@ class MenuFactory extends Factory public function definition(): array { return [ - // + 'user_id' => User::first()->id, ]; } } diff --git a/database/seeders/MenuSeeder.php b/database/seeders/MenuSeeder.php index b3b1793..eac1a48 100644 --- a/database/seeders/MenuSeeder.php +++ b/database/seeders/MenuSeeder.php @@ -2,6 +2,8 @@ namespace Database\Seeders; +use App\Models\Group; +use App\Models\Menu; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -13,5 +15,34 @@ class MenuSeeder extends Seeder public function run(): void { // + Menu::factory(['name' => 'main-menu'])->create(); + + Menu::first()->items()->createMany([ + [ + 'title' => "Home", + 'meta' => '/', + 'user_id' => 1, + 'kind'=>'direct', + ], + [ + 'title' => "News", + 'menuable_id' => 1, + 'menuable_type' => Group::class, + 'user_id' => 1, + 'kind'=>'direct', + ], + [ + 'title' => "Contact", + 'meta' => '/contact-us', + 'user_id' => 1, + 'kind'=>'direct', + ], + [ + 'title' => "About", + 'meta' => '/about-us', + 'user_id' => 1, + 'kind'=>'direct', + ], + ]); } } diff --git a/resources/views/components/setting-field.blade.php b/resources/views/components/setting-field.blade.php index 102d71b..8f0f69f 100644 --- a/resources/views/components/setting-field.blade.php +++ b/resources/views/components/setting-field.blade.php @@ -56,6 +56,18 @@ xvalue='{{old($setting->key,$setting->value??null)}}' :close-on-Select="true"> @break + @case('MENU') + + @break @case('COLOR')