diff --git a/app/Http/Controllers/Admin/Shop/CategoryController.php b/app/Http/Controllers/Admin/Shop/CategoryController.php index 4ce696d1..9e47c18c 100644 --- a/app/Http/Controllers/Admin/Shop/CategoryController.php +++ b/app/Http/Controllers/Admin/Shop/CategoryController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin\Shop; use Illuminate\Http\Request; use App\Repositories\Shop\Categories; +use App\Repositories\Shop\TagGroups; use App\Datatables\Shop\CategoriesDataTable; class CategoryController extends Controller @@ -24,6 +25,7 @@ class CategoryController extends Controller $data = []; $data['category_id'] = 0; $data['categories'] = Categories::getOptions(); + $data['tags_list'] = TagGroups::getTreeTags(); return view('Admin.Shop.Categories.create', $data); } @@ -41,8 +43,9 @@ class CategoryController extends Controller public function edit($id) { - $data = Categories::get($id)->toArray(); + $data['category'] = Categories::get($id)->toArray(); $data['categories'] = Categories::getOptions(); + $data['tags_list'] = TagGroups::getTreeTags(); return view('Admin.Shop.Categories.edit', $data); } diff --git a/app/Models/Shop/Category.php b/app/Models/Shop/Category.php index 4252bdc3..5bb782e3 100644 --- a/app/Models/Shop/Category.php +++ b/app/Models/Shop/Category.php @@ -24,4 +24,15 @@ class Category extends Model { return $this->morphedByMany('App\Models\Shop\Article', 'categorizable'); } + + public function Shelves() + { + return $this->morphedByMany('App\Models\Shop\Category', 'categorizable'); + } + + public function CategoryTree() + { + return $this->belongsTo(app('rinvex.categories.category'),'category_id'); + } + } diff --git a/app/Repositories/Shop/Articles.php b/app/Repositories/Shop/Articles.php index 83a37678..d20452f5 100644 --- a/app/Repositories/Shop/Articles.php +++ b/app/Repositories/Shop/Articles.php @@ -130,13 +130,17 @@ class Articles public static function storeFull($data) { $images = isset($data['images']) ? $data['images'] : false; - $categories = isset($data['categories']) ? $data['categories'] : false; - $tags = isset($data['tags']) ? $data['tags'] : false; - $prices = isset($data['prices']) ? $data['prices'] : false; unset($data['images']); + + $categories = isset($data['categories']) ? $data['categories'] : false; unset($data['categories']); + + $tags = isset($data['tags']) ? $data['tags'] : false; unset($data['tags']); + + $prices = isset($data['prices']) ? $data['prices'] : false; unset($data['prices']); + $article = self::store($data); self::storeImages($article, $images); self::storeCategories($article, $categories); diff --git a/app/Repositories/Shop/Categories.php b/app/Repositories/Shop/Categories.php index 08d5d162..b7be28f0 100644 --- a/app/Repositories/Shop/Categories.php +++ b/app/Repositories/Shop/Categories.php @@ -2,18 +2,10 @@ namespace App\Repositories\Shop; -use Yajra\DataTables\DataTables; - use App\Models\Shop\Category; class Categories { - public static function getDatatable() - { - $model = Category::orderBy('name'); - return Datatables::of($model)->make(true); - } - public static function getAll() { return Category::orderBy('name', 'asc')->get(); @@ -21,7 +13,7 @@ class Categories public static function get($id) { - return Category::find($id); + return Category::with('CategoryTree')->find($id); } public static function getTree() @@ -37,12 +29,14 @@ class Categories public static function storeFull($data) { $images = isset($data['images']) ? $data['images'] : false; - // $tags = isset($data['tags']) ? $data['tags'] : false; unset($data['images']); - // unset($data['tags']); + + $tags = isset($data['tags']) ? $data['tags'] : false; + unset($data['tags']); + $category = self::store($data); self::storeImages($category, $images); - // self::storeTags($category, $tags); + self::storeTags($category, $tags); return $category; } @@ -126,8 +120,8 @@ class Categories public static function destroy($id) { - // $category = self::get($id); - // self::deleteNode($category->category_id); + $category = self::get($id); + self::deleteNode($category->category_id); return Category::destroy($id); } diff --git a/app/Repositories/Shop/CategoryTrees.php b/app/Repositories/Shop/CategoryTrees.php index 88a97517..d31ad4e2 100644 --- a/app/Repositories/Shop/CategoryTrees.php +++ b/app/Repositories/Shop/CategoryTrees.php @@ -2,8 +2,6 @@ namespace App\Repositories\Shop; -use App\Models\Shop\Category; - class CategoryTrees { public static function getTree() @@ -50,7 +48,7 @@ class CategoryTrees public static function create($data) { - $parent = (isset($data['category_id']) && $data['category_id']) ? self::getNode($data['category_id']) : self::getRoot(); + $parent = (isset($data['parent_id']) && $data['parent_id']) ? self::getNode($data['parent_id']) : self::getRoot(); $category = app('rinvex.categories.category')->create(['name' => $data['name']]); $category->appendToNode($parent)->save(); return $category; diff --git a/resources/views/Admin/Shop/Categories/create.blade.php b/resources/views/Admin/Shop/Categories/create.blade.php index add1398d..7251c43b 100644 --- a/resources/views/Admin/Shop/Categories/create.blade.php +++ b/resources/views/Admin/Shop/Categories/create.blade.php @@ -1,7 +1,7 @@ @extends('layout.index', [ - 'title' => __('shop.categories.title'), - 'subtitle' => __('shop.categories.add'), - 'breadcrumb' => [__('shop.categories.title'), __('shop.categories.list')] + 'title' => __('shop.shelves.title'), + 'subtitle' => __('shop.shelves.add'), + 'breadcrumb' => [__('shop.shelves.title'), __('shop.shelves.list')] ]) @section('content') diff --git a/resources/views/Admin/Shop/Categories/edit.blade.php b/resources/views/Admin/Shop/Categories/edit.blade.php index feb7a530..688ae1c2 100644 --- a/resources/views/Admin/Shop/Categories/edit.blade.php +++ b/resources/views/Admin/Shop/Categories/edit.blade.php @@ -1,13 +1,13 @@ @extends('layout.index', [ - 'title' => __('shop.categories.title'), - 'subtitle' => __('shop.categories.edit'), - 'breadcrumb' => [__('shop.categories.title'), __('shop.categories.list')] + 'title' => __('shop.shelves.title'), + 'subtitle' => __('shop.shelves.edit'), + 'breadcrumb' => [__('shop.shelves.title'), __('shop.shelves.list')] ]) @section('content') {{ Form::open(['route' => 'Admin.Shop.Categories.store', 'id' => 'form', 'autocomplete' => 'off']) }} - + @include('Admin.Shop.Categories.form') diff --git a/resources/views/Admin/Shop/Categories/form.blade.php b/resources/views/Admin/Shop/Categories/form.blade.php index 9fbc4919..2a85ed74 100644 --- a/resources/views/Admin/Shop/Categories/form.blade.php +++ b/resources/views/Admin/Shop/Categories/form.blade.php @@ -1,44 +1,50 @@ - -