From 2e9f58917fd6713116563c04e3dc73246203613f Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 15 Mar 2019 13:08:21 +0530 Subject: [PATCH] Category display mode feature added --- .../Admin/src/Resources/lang/en/app.php | 4 + .../Admin/src/Resources/lang/pt_BR/app.php | 4 + .../views/catalog/categories/create.blade.php | 16 ++++ .../views/catalog/categories/edit.blade.php | 16 ++++ ...isplay_mode_column_in_categories_table.php | 32 +++++++ .../Webkul/Category/src/Models/Category.php | 2 +- .../Resources/views/products/index.blade.php | 92 ++++++++++--------- 7 files changed, 122 insertions(+), 44 deletions(-) create mode 100644 packages/Webkul/Category/src/Database/Migrations/2019_03_15_123337_add_display_mode_column_in_categories_table.php diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index fa6231012..6f887d0ea 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -461,6 +461,10 @@ return [ 'yes' => 'Yes', 'no' => 'No', 'position' => 'Position', + 'display-mode' => 'Display Mode', + 'products-and-description' => 'Products and Description', + 'products-only' => 'Products Only', + 'description-only' => 'Description Only', 'description-and-images' => 'Description and Images', 'description' => 'Description', 'parent-category' => 'Parent Category', diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php index 4779d14a1..4d7153976 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -429,6 +429,10 @@ return [ 'yes' => 'Sim', 'no' => 'Não', 'position' => 'Posição', + 'display-mode' => 'Display Mode', + 'products-and-description' => 'Products and Description', + 'products-only' => 'Products Only', + 'description-only' => 'Description Only', 'description-and-images' => 'Descrição e Imagens', 'description' => 'Descrição', 'parent-category' => 'Categoria Pai', diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php index 4737021fb..d62f0213b 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php @@ -77,6 +77,22 @@ {!! view_render_event('bagisto.admin.catalog.category.create_form_accordian.description_images.controls.before') !!} +
+ + + @{{ errors.first('display_mode') }} +
+
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php index e2c56537e..7a6a593cd 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php @@ -90,6 +90,22 @@ {!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.description_images.controls.before', ['category' => $category]) !!} +
+ + + @{{ errors.first('display_mode') }} +
+
diff --git a/packages/Webkul/Category/src/Database/Migrations/2019_03_15_123337_add_display_mode_column_in_categories_table.php b/packages/Webkul/Category/src/Database/Migrations/2019_03_15_123337_add_display_mode_column_in_categories_table.php new file mode 100644 index 000000000..fa77a1f38 --- /dev/null +++ b/packages/Webkul/Category/src/Database/Migrations/2019_03_15_123337_add_display_mode_column_in_categories_table.php @@ -0,0 +1,32 @@ +string('display_mode')->default('products_and_description')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('categories', function (Blueprint $table) { + // + }); + } +} diff --git a/packages/Webkul/Category/src/Models/Category.php b/packages/Webkul/Category/src/Models/Category.php index 0c9f4079e..273430dad 100755 --- a/packages/Webkul/Category/src/Models/Category.php +++ b/packages/Webkul/Category/src/Models/Category.php @@ -13,7 +13,7 @@ class Category extends TranslatableModel implements CategoryContract public $translatedAttributes = ['name', 'description', 'slug', 'meta_title', 'meta_description', 'meta_keywords']; - protected $fillable = ['position', 'status', 'parent_id']; + protected $fillable = ['position', 'status', 'display_mode', 'parent_id']; /** * Get image url for the category image. diff --git a/packages/Webkul/Shop/src/Resources/views/products/index.blade.php b/packages/Webkul/Shop/src/Resources/views/products/index.blade.php index 81c35cf6e..b5ccd5c11 100755 --- a/packages/Webkul/Shop/src/Resources/views/products/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/index.blade.php @@ -17,65 +17,71 @@
- @include ('shop::products.list.layered-navigation') + @if (in_array($category->display_mode, [null, 'products_only', 'products_and_description'])) + @include ('shop::products.list.layered-navigation') + @endif -
+
display_mode == 'description_only') style="width: 100%" @endif>
@if (!is_null($category->image)) @endif
- @if ($category->description) -
- {!! $category->description !!} -
- @endif - - getAll($category->id); ?> - - @if ($products->count()) - - @include ('shop::products.list.toolbar') - - @inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') - - @if ($toolbarHelper->getCurrentMode() == 'grid') -
- @foreach ($products as $productFlat) - - @include ('shop::products.list.card', ['product' => $productFlat->product]) - - @endforeach -
- @else -
- @foreach ($products as $productFlat) - - @include ('shop::products.list.card', ['product' => $productFlat->product]) - - @endforeach + @if (in_array($category->display_mode, [null, 'description_only', 'products_and_description'])) + @if ($category->description) +
+ {!! $category->description !!}
@endif + @endif - {!! view_render_event('bagisto.shop.products.index.pagination.before') !!} + @if (in_array($category->display_mode, [null, 'products_only', 'products_and_description'])) + getAll($category->id); ?> -
- {{ $products->appends(request()->input())->links() }} -
+ @if ($products->count()) - {!! view_render_event('bagisto.shop.products.index.pagination.after') !!} + @include ('shop::products.list.toolbar') - @else + @inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') -
-

{{ __('shop::app.products.whoops') }}

+ @if ($toolbarHelper->getCurrentMode() == 'grid') +
+ @foreach ($products as $productFlat) -

- {{ __('shop::app.products.empty') }} -

-
+ @include ('shop::products.list.card', ['product' => $productFlat->product]) + @endforeach +
+ @else +
+ @foreach ($products as $productFlat) + + @include ('shop::products.list.card', ['product' => $productFlat->product]) + + @endforeach +
+ @endif + + {!! view_render_event('bagisto.shop.products.index.pagination.before') !!} + +
+ {{ $products->appends(request()->input())->links() }} +
+ + {!! view_render_event('bagisto.shop.products.index.pagination.after') !!} + + @else + +
+

{{ __('shop::app.products.whoops') }}

+ +

+ {{ __('shop::app.products.empty') }} +

+
+ + @endif @endif