diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index f527566..a6d1341 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -824,6 +824,19 @@ function getCategoryProductBySetting($key, $limit = 10, $order = 'id', $dir = "D return Category::where('id', getSetting($key) ?? 1)->first() ->products()->where('status', 1)->orderBy($order, $dir)->limit($limit)->get(); } +/** + * get group's posts by setting key + * @param $key + * @param integer $limit + * @param string $order + * @param string $dir + * @return \App\Models\Post[]|\Illuminate\Database\Eloquent\Collection|\LaravelIdea\Helper\App\Models\_IH_Post_C + */ +function getCategorySubCatsBySetting($key, $limit = 10, $order = 'id', $dir = "DESC") +{ + return Category::where('id', getSetting($key) ?? 1)->first() + ->children()->orderBy($order, $dir)->limit($limit)->get(); +} /** * @param null $data diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.blade.php b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.blade.php new file mode 100644 index 0000000..07115e7 --- /dev/null +++ b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.blade.php @@ -0,0 +1,21 @@ + diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.js b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.js new file mode 100644 index 0000000..b416381 --- /dev/null +++ b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.js @@ -0,0 +1,42 @@ +import {tns} from "tiny-slider/src/tiny-slider"; + +var brandSlider ; + +document.addEventListener('DOMContentLoaded', () => { + document.querySelectorAll('#brands-slider')?.forEach(function (el) { + if (el.classList.contains('.tns-slider')){ + console.log('ignore'); + return 'ignore'; + } + brandSlider = tns({ + container: el, + items: 3, + autoplay: true, + autoplayButton: false, + // nextButton: false, + autoplayHoverPause: true, + mouseDrag: true, + gutter: 20, + slideBy: 1, + controlsPosition: "bottom", + navPosition: "bottom", + controls: false, + responsive:{ + 560:{ + items: 1, + }, + 768:{ + items: 2, + }, + 1000:{ + items: 3, + }, + 1400:{ + items: 4, + }, + + } + // speed:10000, + }); + }); +}); diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.json b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.json new file mode 100644 index 0000000..f62e0fe --- /dev/null +++ b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.json @@ -0,0 +1,10 @@ +{ + "name": "CategoriesFavImageLinks", + "version": "1.0", + "author": "xStack", + "email": "xshop@xstack.ir", + "license": "GPL-3.0-or-later", + "url": "https:\/\/xstack.ir", + "author_url": "https:\/\/4xmen.ir", + "packages": [] +} \ No newline at end of file diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.php b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.php new file mode 100644 index 0000000..43d013c --- /dev/null +++ b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.php @@ -0,0 +1,46 @@ +section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_title'; + $setting->value = 'Brands'; + $setting->size = 6; + $setting->type = 'TEXT'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' title'; + $setting->save(); + + + $setting = new Setting(); + $setting->section = 'theme'; + $setting->key = $part->area->name . '_' . $part->part.'_category'; + $setting->value = Category::first()->id; + $setting->size = 6; + $setting->type = 'CATEGORY'; +// $setting->data = json_encode(['xmin' => 2, 'xmax' => 90]); + $setting->title = $part->area->name . ' ' . $part->part. ' group'; + $setting->save(); + + } + public static function onRemove(Part $part = null) + { + Setting::where('key',$part->area->name . '_' . $part->part.'_title')->first()?->delete(); + Setting::where('key',$part->area->name . '_' . $part->part.'_category')->first()?->delete(); + } + public static function onMount(Part $part = null) + { + return $part; + } +} diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.scss b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.scss new file mode 100644 index 0000000..353c947 --- /dev/null +++ b/resources/views/segments/categories/CategoriesFavImageLinks/CategoriesFavImageLinks.scss @@ -0,0 +1,45 @@ +#CategoriesFavImageLinks { + padding: 4rem 0; + + h1{ + text-align: center; + font-weight: 200; + font-size: 28px; + margin-bottom: 2rem; + } + + #brands-slider{ + .item{ + text-align: center; + } + } + img{ + height: 64px; + } + .tns-nav,button{ + display: inline-block; + } + [data-action="stop"], [data-action="start"]{ + display: none; + } + + .tns-nav{ + margin-top: 2rem; + display: block; + text-align: center; + button{ + opacity: .4; + margin: .4rem; + height: 12px; + width: 12px; + border-radius: 50%; + background: var(--xshop-primary); + border: 0; + transition: 400ms; + + &.tns-nav-active{ + opacity: 1; + } + } + } +} diff --git a/resources/views/segments/categories/CategoriesFavImageLinks/screenshot.png b/resources/views/segments/categories/CategoriesFavImageLinks/screenshot.png new file mode 100644 index 0000000..07dba53 Binary files /dev/null and b/resources/views/segments/categories/CategoriesFavImageLinks/screenshot.png differ diff --git a/resources/views/segments/products/TreeGridProducts/TreeGridProducts.js b/resources/views/segments/products/TreeGridProducts/TreeGridProducts.js index 2f233c0..a22a16c 100644 --- a/resources/views/segments/products/TreeGridProducts/TreeGridProducts.js +++ b/resources/views/segments/products/TreeGridProducts/TreeGridProducts.js @@ -62,7 +62,7 @@ document.addEventListener('DOMContentLoaded', () => { console.log('ignore'); return 'ignore'; } - treeSliderX = tns({ + treeSliderY = tns({ container: el, items: 1, autoplay: true,