From 4b5a261d58f9f9e029e84626f0767705380a6553 Mon Sep 17 00:00:00 2001 From: shivendra gupta Date: Thu, 13 Apr 2023 13:20:18 +0530 Subject: [PATCH 1/6] optimized cross sell products and improvised logics --- packages/Webkul/Admin/src/Config/system.php | 29 +++++++++++ .../Admin/src/Resources/lang/ar/app.php | 5 ++ .../Admin/src/Resources/lang/bn/app.php | 5 ++ .../Admin/src/Resources/lang/de/app.php | 13 +++-- .../Admin/src/Resources/lang/en/app.php | 5 ++ .../Admin/src/Resources/lang/es/app.php | 5 ++ .../Admin/src/Resources/lang/fa/app.php | 5 ++ .../Admin/src/Resources/lang/fr/app.php | 5 ++ .../Admin/src/Resources/lang/he/app.php | 5 ++ .../Admin/src/Resources/lang/hi_IN/app.php | 5 ++ .../Admin/src/Resources/lang/it/app.php | 13 +++-- .../Admin/src/Resources/lang/ja/app.php | 5 ++ .../Admin/src/Resources/lang/nl/app.php | 13 +++-- .../Admin/src/Resources/lang/pl/app.php | 13 +++-- .../Admin/src/Resources/lang/pt_BR/app.php | 11 ++-- .../Admin/src/Resources/lang/ru/app.php | 5 ++ .../Admin/src/Resources/lang/sin/app.php | 5 ++ .../Admin/src/Resources/lang/tr/app.php | 5 ++ .../Admin/src/Resources/lang/uk/app.php | 5 ++ .../Admin/src/Resources/lang/zh_CN/app.php | 5 ++ .../Webkul/Product/src/Models/Product.php | 9 ++-- .../src/Http/Controllers/CartController.php | 13 ++++- .../ProductsCategoriesProxyController.php | 9 ++-- .../shop/products/view/cross-sells.blade.php | 51 +++++++------------ .../products/view/related-products.blade.php | 10 ++-- .../shop/products/view/up-sells.blade.php | 14 +++-- 26 files changed, 192 insertions(+), 76 deletions(-) diff --git a/packages/Webkul/Admin/src/Config/system.php b/packages/Webkul/Admin/src/Config/system.php index 8ee78745869..1d8f5429050 100644 --- a/packages/Webkul/Admin/src/Config/system.php +++ b/packages/Webkul/Admin/src/Config/system.php @@ -140,6 +140,35 @@ 'validation' => 'min:0', ], ], + ], [ + 'key' => 'catalog.products.product_view_page', + 'name' => 'admin::app.admin.system.product-view-page', + 'sort' => 3, + 'fields' => [ + [ + 'name' => 'no_of_related_products', + 'title' => 'admin::app.admin.system.allow-no-of-related-products', + 'type' => 'number', + 'validation' => 'min:0', + ], [ + 'name' => 'no_of_up_sells_products', + 'title' => 'admin::app.admin.system.allow-no-of-up-sells-products', + 'type' => 'number', + 'validation' => 'min:0', + ], + ], + ], [ + 'key' => 'catalog.products.cart_view_page', + 'name' => 'admin::app.admin.system.cart-view-page', + 'sort' => 3, + 'fields' => [ + [ + 'name' => 'no_of_cross_sells_products', + 'title' => 'admin::app.admin.system.allow-no-of-cross-sells-products', + 'type' => 'number', + 'validation' => 'min:0', + ], + ], ], [ 'key' => 'catalog.products.storefront', 'name' => 'admin::app.admin.system.storefront', diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php index 0be78181789..5f9bbef4ea7 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php @@ -1524,8 +1524,13 @@ 'system' => [ 'catalog' => 'فهرس', 'homepage' => 'تكوين الصفحة الرئيسية', + 'product-view-page' => 'تكوين صفحة عرض المنتج', + 'cart-view-page' => 'تكوين صفحة عرض السلة', 'allow-no-of-new-product-homepage' => 'عدد المنتجات الجديدة المسموح بها في الصفحة الرئيسية', 'allow-no-of-featured-product-homepage' => 'عدد المنتجات المميزة المسموح بها في الصفحة الرئيسية', + 'allow-no-of-related-products' => 'عدد المنتجات ذات الصلة المسموح به', + 'allow-no-of-up-sells-products' => 'عدد منتجات البيع الصعودي المسموح به', + 'allow-no-of-cross-sells-products' => 'عدد منتجات البيع المتقاطع المسموح بها', 'allow-out-of-stock-items' => 'السماح بعناصر من المخزون', 'products' => 'منتجات', 'guest-checkout' => 'ضيف المحاسبة', diff --git a/packages/Webkul/Admin/src/Resources/lang/bn/app.php b/packages/Webkul/Admin/src/Resources/lang/bn/app.php index b4a24844595..9d31284e057 100644 --- a/packages/Webkul/Admin/src/Resources/lang/bn/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/bn/app.php @@ -1486,6 +1486,8 @@ 'system' => [ 'catalog' => 'ক্যাটালগ', 'homepage' => 'হোমপেজ কনফিগারেশন', + 'product-view-page' => 'পণ্য দর্শন পৃষ্ঠা কনফিগারেশন', + 'cart-view-page' => 'কার্ট ভিউ পৃষ্ঠা কনফিগারেশন', 'allow-out-of-stock-items' => 'স্টক আইটেম আউট অনুমতি', 'products' => 'পণ্য', 'guest-checkout' => 'অতিথি পাস', @@ -1630,6 +1632,9 @@ 'show-search-input-field' => 'অনুসন্ধান ইনপুট ক্ষেত্র দেখান', 'allow-no-of-new-product-homepage' => 'হোমপেজে নতুন পণ্যের অনুমোদিত সংখ্যা', 'allow-no-of-featured-product-homepage' => 'হোমপেজে বৈশিষ্ট্যযুক্ত পণ্যের অনুমোদিত সংখ্যা', + 'allow-no-of-related-products' => 'সম্পর্কিত পণ্য অনুমোদিত সংখ্যা', + 'allow-no-of-up-sells-products' => 'আপ-বিক্রয় পণ্য অনুমোদিত সংখ্যা', + 'allow-no-of-cross-sells-products' => 'ক্রস-সেল পণ্যের অনুমোদিত সংখ্যা', 'width' => 'প্রস্থ', 'height' => 'উচ্চতা', 'cache-small-image' => 'ছোট ইমেজ', diff --git a/packages/Webkul/Admin/src/Resources/lang/de/app.php b/packages/Webkul/Admin/src/Resources/lang/de/app.php index c72ce0b373e..12f1972bcdc 100755 --- a/packages/Webkul/Admin/src/Resources/lang/de/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/de/app.php @@ -1477,10 +1477,15 @@ 'system' => [ 'catalog' => 'Katalog', - 'homepage' => 'Homepage configuration', - 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', - 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', - 'allow-out-of-stock-items' => 'Allow out of stock items', + 'homepage' => 'Homepage-Konfiguration', + 'product-view-page' => 'Konfiguration der Produktansichtsseite', + 'cart-view-page' => 'Konfiguration der Warenkorbansichtsseite', + 'allow-no-of-new-product-homepage' => 'Zulässige Anzahl neuer Produkte auf der Homepage', + 'allow-no-of-featured-product-homepage' => 'Zulässige Anzahl von empfohlenen Produkten auf der Homepage', + 'allow-no-of-related-products' => 'Zulässige Anzahl verwandter Produkte', + 'allow-no-of-up-sells-products' => 'Zulässige Anzahl von Up-Sell-Produkten', + 'allow-no-of-cross-sells-products' => 'Zulässige Anzahl von Cross-Selling-Produkten', + 'allow-out-of-stock-items' => 'Ausverkaufte Artikel zulassen', 'products' => 'Produkte', 'guest-checkout' => 'Gastbestellungen', 'allow-guest-checkout' => 'Gastbestellungen erlauben', diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index b8c03118b08..f29e89daf4a 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -1537,6 +1537,8 @@ 'system' => [ 'catalog' => 'Catalog', 'homepage' => 'Homepage configuration', + 'product-view-page' => 'Product view page configuration', + 'cart-view-page' => 'Cart view page confguration', 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Products', 'guest-checkout' => 'Guest Checkout', @@ -1684,6 +1686,9 @@ 'show-search-input-field' => 'Show Search Input Field', 'allow-no-of-new-product-homepage' => 'Allowed number of New Product in Homepage', 'allow-no-of-featured-product-homepage' => 'Allowed number of Featured Product in Homepage', + 'allow-no-of-related-products' => 'Allowed number of Related Products', + 'allow-no-of-up-sells-products' => 'Allowed number of Up-Sell Products', + 'allow-no-of-cross-sells-products' => 'Allowed number of Cross-Sell Products', 'width' => 'Width', 'height' => 'Height', 'cache-small-image' => 'Small Image', diff --git a/packages/Webkul/Admin/src/Resources/lang/es/app.php b/packages/Webkul/Admin/src/Resources/lang/es/app.php index 3e74cf0b0b3..2585b2ddcbb 100755 --- a/packages/Webkul/Admin/src/Resources/lang/es/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/es/app.php @@ -1512,8 +1512,13 @@ 'system' => [ 'catalog' => 'Catálogo', 'homepage' => 'Configuración de Página de Inicio', + 'product-view-page' => 'Configuración de la página de visualización del producto', + 'cart-view-page' => 'Configuración de página de vista de carrito', 'allow-no-of-new-product-homepage' => 'No permitido Nuevo Producto en la Página de Inicio', 'allow-no-of-featured-product-homepage' => 'No Permitido Producto Destacado en Página de Inicio', + 'allow-no-of-related-products' => 'Número permitido de productos relacionados', + 'allow-no-of-up-sells-products' => 'Número permitido de productos de venta adicional', + 'allow-no-of-cross-sells-products' => 'Número permitido de productos de venta cruzada', 'allow-out-of-stock-items' => 'Permitir Artículos Agotados', 'products' => 'Productos', 'guest-checkout' => 'Compras como invitado', diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php index 20d92357c97..0d5afd24d62 100755 --- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php @@ -1450,8 +1450,13 @@ 'system' => [ 'catalog' => 'کاتالوگ', 'homepage' => 'پیکربندی صفحه اصلی', + 'product-view-page' => 'پیکربندی صفحه نمایش محصول', + 'cart-view-page' => 'تنظیمات صفحه نمایش سبد خرید', 'allow-no-of-new-product-homepage' => 'تعداد مجاز محصول جدید در صفحه اصلی', 'allow-no-of-featured-product-homepage' => 'تعداد مجاز محصولات ویژه در صفحه اصلی', + 'allow-no-of-related-products' => 'تعداد مجاز محصولات مرتبط', + 'allow-no-of-up-sells-products' => 'تعداد مجاز محصولات با فروش بالا', + 'allow-no-of-cross-sells-products' => 'تعداد مجاز محصولات متقابل فروش', 'allow-out-of-stock-items' => 'اقلام موجود در انبار را مجاز کنید', 'products' => 'محصولات', 'guest-checkout' => 'وارسی میهمان', diff --git a/packages/Webkul/Admin/src/Resources/lang/fr/app.php b/packages/Webkul/Admin/src/Resources/lang/fr/app.php index 4f4deed2ccd..abb124fd604 100755 --- a/packages/Webkul/Admin/src/Resources/lang/fr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fr/app.php @@ -1511,6 +1511,8 @@ 'system' => [ 'catalog' => 'Catalogue', 'homepage' => 'Configuration de la page d\'accueil', + 'product-view-page' => 'Configuration de la page d\'affichage du produit', + 'cart-view-page' => 'Configuration de la page d\'affichage du panier', 'allow-out-of-stock-items' => 'Autoriser les articles en rupture de stock', 'products' => 'Des produits', 'guest-checkout' => 'Paiement des invités', @@ -1655,6 +1657,9 @@ 'show-search-input-field' => 'Afficher le champ de saisie de la recherche', 'allow-no-of-new-product-homepage' => 'Nombre autorisé de nouveaux produits sur la page d\'accueil', 'allow-no-of-featured-product-homepage' => 'Nombre autorisé de produits en vedette sur la page d\'accueil', + 'allow-no-of-related-products' => 'Nombre autorisé de produits associés', + 'allow-no-of-up-sells-products' => 'Nombre autorisé de produits de vente incitative', + 'allow-no-of-cross-sells-products' => 'Nombre autorisé de produits de vente croisée', 'width' => 'Largeur', 'height' => 'Hauteur', 'cache-small-image' => 'Petite image', diff --git a/packages/Webkul/Admin/src/Resources/lang/he/app.php b/packages/Webkul/Admin/src/Resources/lang/he/app.php index b88e76c7339..6a8f0648b41 100755 --- a/packages/Webkul/Admin/src/Resources/lang/he/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/he/app.php @@ -1484,6 +1484,8 @@ 'system' => [ 'catalog' => 'Catalog', 'homepage' => 'Homepage configuration', + 'product-view-page' => 'Product view page configuration', + 'cart-view-page' => 'Cart view page confguration', 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Products', 'guest-checkout' => 'Guest Checkout', @@ -1628,6 +1630,9 @@ 'show-search-input-field' => 'Show Search Input Field', 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-no-of-related-products' => 'Allowed number of Related Products', + 'allow-no-of-up-sells-products' => 'Allowed number of Up-Sell Products', + 'allow-no-of-cross-sells-products' => 'Allowed number of Cross-Sell Products', 'width' => 'Width', 'height' => 'Height', 'cache-small-image' => 'Small Image', diff --git a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php index 4403f40218d..0e83f833b5c 100755 --- a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php @@ -1481,6 +1481,8 @@ 'system' => [ 'catalog' =>'कैटलॉग', 'homepage' => 'मुखपृष्ठ विन्यास', + 'product-view-page' => 'उत्पाद दृश्य पृष्ठ कॉन्फ़िगरेशन', + 'cart-view-page' => 'कार्ट व्यू पेज कॉन्फ़िगरेशन', 'allow-out-of-stock-items' => 'स्टॉक में नहीं होने वाली वस्तुओं की अनुमति दें', 'products' => 'उत्पाद', 'guest-checkout' => 'मेहमान के होटल छोड़ने का समय', @@ -1625,6 +1627,9 @@ 'show-search-input-field' => 'खोज इनपुट फ़ील्ड दिखाएं', 'allow-no-of-new-product-homepage' => 'मुखपृष्ठ में नए उत्पाद की अनुमत संख्या', 'allow-no-of-featured-product-homepage' => 'मुखपृष्ठ में विशेष रुप से प्रदर्शित उत्पाद की अनुमत संख्या', + 'allow-no-of-related-products' => 'संबंधित उत्पादों की अनुमत संख्या', + 'allow-no-of-up-sells-products' => 'अप-सेल उत्पादों की अनुमत संख्या', + 'allow-no-of-cross-sells-products' => 'क्रॉस-सेल उत्पादों की अनुमत संख्या', 'width' => 'चौड़ाई', 'height' => 'ऊंचाई', 'cache-small-image' => 'छोटी छवि', diff --git a/packages/Webkul/Admin/src/Resources/lang/it/app.php b/packages/Webkul/Admin/src/Resources/lang/it/app.php index bd4d4ada30f..1fbc823ea0b 100755 --- a/packages/Webkul/Admin/src/Resources/lang/it/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/it/app.php @@ -1471,10 +1471,15 @@ ], 'system' => [ 'catalog' => 'Catalogo', - 'homepage' => 'Homepage configuration', - 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', - 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', - 'allow-out-of-stock-items' => 'Allow out of stock items', + 'homepage' => 'Configurazione della pagina iniziale', + 'product-view-page' => 'Configurazione della pagina di visualizzazione del prodotto', + 'cart-view-page' => 'Configurazione della pagina di visualizzazione del carrello', + 'allow-no-of-new-product-homepage' => 'Numero consentito di nuovi prodotti nella home page', + 'allow-no-of-featured-product-homepage' => 'Numero consentito di prodotti in vetrina nella home page', + 'allow-no-of-related-products' => 'Numero consentito di prodotti correlati', + 'allow-no-of-up-sells-products' => 'Numero consentito di prodotti Up-Sell', + 'allow-no-of-cross-sells-products' => 'Numero consentito di prodotti cross-sell', + 'allow-out-of-stock-items' => 'Consenti articoli esauriti', 'products' => 'Prodotti', 'guest-checkout' => 'Checkout come Ospite', 'allow-guest-checkout' => 'Consenti Checkout come Ospite', diff --git a/packages/Webkul/Admin/src/Resources/lang/ja/app.php b/packages/Webkul/Admin/src/Resources/lang/ja/app.php index ca36a9b4c9f..079eff7a145 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ja/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ja/app.php @@ -1484,6 +1484,8 @@ 'system' => [ 'catalog' => 'Catalog', 'homepage' => 'Homepage configuration', + 'product-view-page' => 'Product view page configuration', + 'cart-view-page' => 'Cart view page confguration', 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Products', 'guest-checkout' => 'Guest Checkout', @@ -1628,6 +1630,9 @@ 'show-search-input-field' => 'Show Search Input Field', 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-no-of-related-products' => 'Allowed number of Related Products', + 'allow-no-of-up-sells-products' => 'Allowed number of Up-Sell Products', + 'allow-no-of-cross-sells-products' => 'Allowed number of Cross-Sell Products', 'width' => 'Width', 'height' => 'Height', 'cache-small-image' => 'Small Image', diff --git a/packages/Webkul/Admin/src/Resources/lang/nl/app.php b/packages/Webkul/Admin/src/Resources/lang/nl/app.php index 303dabcfcf0..05fbae4b876 100755 --- a/packages/Webkul/Admin/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/nl/app.php @@ -1477,10 +1477,15 @@ ], 'system' => [ 'catalog' => 'Catalogus', - 'homepage' => 'Homepage configuration', - 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', - 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', - 'allow-out-of-stock-items' => 'Allow out of stock items', + 'homepage' => 'Startpagina configuratie', + 'product-view-page' => 'Configuratie van de productweergavepagina', + 'cart-view-page' => 'Winkelwagen weergave pagina configuratie', + 'allow-no-of-new-product-homepage' => 'Toegestaan ​​aantal nieuwe producten op de startpagina', + 'allow-no-of-featured-product-homepage' => 'Toegestaan ​​aantal uitgelichte producten op de startpagina', + 'allow-no-of-related-products' => 'Toegestaan ​​aantal gerelateerde producten', + 'allow-no-of-up-sells-products' => 'Toegestaan ​​aantal up-sell-producten', + 'allow-no-of-cross-sells-products' => 'Toegestaan ​​aantal Cross-sell-producten', + 'allow-out-of-stock-items' => 'Artikelen die niet op voorraad zijn toestaan', 'products' => 'Producten', 'guest-checkout' => 'Gast afrekenen', 'allow-guest-checkout' => 'Gast afrekenen toestaan', diff --git a/packages/Webkul/Admin/src/Resources/lang/pl/app.php b/packages/Webkul/Admin/src/Resources/lang/pl/app.php index c42ea9c3180..593d2f0a02d 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pl/app.php @@ -1452,10 +1452,15 @@ ], 'system' => [ 'catalog' => 'Katalog', - 'homepage' => 'Homepage configuration', - 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', - 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', - 'allow-out-of-stock-items' => 'Allow out of stock items', + 'homepage' => 'Konfiguracja strony głównej', + 'product-view-page' => 'Konfiguracja strony widoku produktu', + 'cart-view-page' => 'Konfiguracja strony widoku koszyka', + 'allow-no-of-new-product-homepage' => 'Dozwolona liczba nowych produktów na stronie głównej', + 'allow-no-of-featured-product-homepage' => 'Dozwolona liczba polecanych produktów na stronie głównej', + 'allow-no-of-related-products' => 'Dozwolona liczba produktów powiązanych', + 'allow-no-of-up-sells-products' => 'Dozwolona liczba produktów up-sellowych', + 'allow-no-of-cross-sells-products' => 'Dozwolona liczba produktów sprzedaży krzyżowej', + 'allow-out-of-stock-items' => 'Zezwalaj na brak produktów w magazynie', 'products' => 'Produkty', 'guest-checkout' => 'Zamówienia gości', 'allow-guest-checkout' => 'Zezwalaj na zamówienia gości', 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 4804626f983..b618e1700ae 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -1449,9 +1449,14 @@ 'system' => [ 'catalog' => 'Catálogo', 'homepage' => 'Configuração da HOME', - 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', - 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', - 'allow-out-of-stock-items' => 'Allow out of stock items', + 'product-view-page' => 'Configuração da página de visualização do produto', + 'cart-view-page' => 'Configuração da página de visualização do carrinho', + 'allow-no-of-new-product-homepage' => 'Número permitido de novo produto na página inicial', + 'allow-no-of-featured-product-homepage' => 'Número permitido de produto em destaque na página inicial', + 'allow-no-of-related-products' => 'Número permitido de produtos relacionados', + 'allow-no-of-up-sells-products' => 'Número permitido de produtos up-sell', + 'allow-no-of-cross-sells-products' => 'Número permitido de produtos de venda cruzada', + 'allow-out-of-stock-items' => 'Permitir itens fora de estoque', 'products' => 'Produtos', 'guest-checkout' => 'Compras sem cadastro?', 'allow-guest-checkout' => 'Permitir compra para clientes sem cadastros?', diff --git a/packages/Webkul/Admin/src/Resources/lang/ru/app.php b/packages/Webkul/Admin/src/Resources/lang/ru/app.php index 81b10d10e11..ab925e42662 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ru/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ru/app.php @@ -1487,6 +1487,8 @@ 'system' => [ 'catalog' => 'Каталог', 'homepage' => 'Конфигурация домашней страницы', + 'product-view-page' => 'Конфигурация страницы просмотра продукта', + 'cart-view-page' => 'Конфигурация страницы просмотра корзины', 'allow-out-of-stock-items' => 'Разрешить товары, которых нет в наличии', 'products' => 'Товары', 'guest-checkout' => 'Гостевая касса', @@ -1631,6 +1633,9 @@ 'show-search-input-field' => 'Показать поле ввода поиска', 'allow-no-of-new-product-homepage' => 'Разрешенное количество новых продуктов на главной странице', 'allow-no-of-featured-product-homepage' => 'Разрешено отсутствие рекомендуемого продукта на главной странице', + 'allow-no-of-related-products' => 'Допустимое количество сопутствующих товаров', + 'allow-no-of-up-sells-products' => 'Допустимое количество продуктов Допродажа', + 'allow-no-of-cross-sells-products' => 'Допустимое количество продуктов для перекрестных продаж', 'width' => 'ширина', 'height' => 'высоа', 'cache-small-image' => 'Маленькое изображение', diff --git a/packages/Webkul/Admin/src/Resources/lang/sin/app.php b/packages/Webkul/Admin/src/Resources/lang/sin/app.php index e3d2bddd192..47319dde2f3 100755 --- a/packages/Webkul/Admin/src/Resources/lang/sin/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/sin/app.php @@ -1487,6 +1487,8 @@ 'system' => [ 'catalog' => 'Catalog', 'homepage' => 'Homepage configuration', + 'product-view-page' => 'Product view page configuration', + 'cart-view-page' => 'Cart view page confguration', 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Products', 'guest-checkout' => 'Guest Checkout', @@ -1631,6 +1633,9 @@ 'show-search-input-field' => 'Show Search Input Field', 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-no-of-related-products' => 'Allowed number of Related Products', + 'allow-no-of-up-sells-products' => 'Allowed number of Up-Sell Products', + 'allow-no-of-cross-sells-products' => 'Allowed number of Cross-Sell Products', 'width' => 'Width', 'height' => 'Height', 'cache-small-image' => 'Small Image', diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php index 138bd6c19f7..d02842a6296 100755 --- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php @@ -1476,8 +1476,13 @@ 'system' => [ 'catalog' => 'Katalog', 'homepage' => 'Ana sayfa yapılandırması', + 'product-view-page' => 'Ürün görüntüleme sayfası yapılandırması', + 'cart-view-page' => 'Sepet görünümü sayfası yapılandırması', 'allow-no-of-new-product-homepage' => 'Ana Sayfada İzin Verilen Yeni Ürün Sayısı', 'allow-no-of-featured-product-homepage' => 'Ana Sayfada İzin Verilen Öne Çıkan Ürün Sayısı', + 'allow-no-of-related-products' => 'İzin verilen İlgili Ürün sayısı', + 'allow-no-of-up-sells-products' => 'İzin verilen Ek Satış Ürünleri sayısı', + 'allow-no-of-cross-sells-products' => 'İzin verilen Çapraz Satış Ürünleri sayısı', 'allow-out-of-stock-items' => 'Stokta olmayan ürünlere izin ver', 'products' => 'Ürünler', 'guest-checkout' => 'Ziyaretçi Satışı', diff --git a/packages/Webkul/Admin/src/Resources/lang/uk/app.php b/packages/Webkul/Admin/src/Resources/lang/uk/app.php index f1765ccde75..4688b994121 100755 --- a/packages/Webkul/Admin/src/Resources/lang/uk/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/uk/app.php @@ -1488,6 +1488,8 @@ 'system' => [ 'catalog' => 'Каталог', 'homepage' => 'Конфигурация домашней страницы', + 'product-view-page' => 'Конфігурація сторінки перегляду продукту', + 'cart-view-page' => 'Конфігурація сторінки перегляду кошика', 'allow-out-of-stock-items' => 'Разрешить товары, которых нет в наличии', 'products' => 'Товары', 'guest-checkout' => 'Гостевая касса', @@ -1632,6 +1634,9 @@ 'show-search-input-field' => 'Показать поле ввода поиска', 'allow-no-of-new-product-homepage' => 'Разрешенное количество новых продуктов на главной странице', 'allow-no-of-featured-product-homepage' => 'Разрешено отсутствие рекомендуемого продукта на главной странице', + 'allow-no-of-related-products' => 'Дозволена кількість супутніх продуктів', + 'allow-no-of-up-sells-products' => 'Дозволена кількість товарів із вищими продажами', + 'allow-no-of-cross-sells-products' => 'Дозволена кількість продуктів перехресного продажу', 'width' => 'ширина', 'height' => 'высоа', 'cache-small-image' => 'Маленькое изображение', diff --git a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php index 4b8772ebca4..2fa0dd515a9 100755 --- a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php @@ -1447,6 +1447,8 @@ 'system' => [ 'catalog' => '商品目录', 'homepage' => '主页配置', + 'product-view-page' => '产品查看页面配置', + 'cart-view-page' => '购物车视图页面配置', 'allow-out-of-stock-items' => '允许缺货商品', 'products' => '产品列表', 'guest-checkout' => '客户结帐', @@ -1584,6 +1586,9 @@ 'show-search-input-field' => '显示搜索输入字段', 'allow-no-of-new-product-homepage' => '首页允许的新产品数量', 'allow-no-of-featured-product-homepage' => '主页中允许的特色产品数量', + 'allow-no-of-related-products' => '允许的相关产品数量', + 'allow-no-of-up-sells-products' => '允许的追加销售产品数量', + 'allow-no-of-cross-sells-products' => '允许的交叉销售产品数量', 'width' => '宽度', 'height' => '高度', 'cache-small-image' => '小图片', diff --git a/packages/Webkul/Product/src/Models/Product.php b/packages/Webkul/Product/src/Models/Product.php index 3ceb71b49e3..b5a0c2e37c0 100755 --- a/packages/Webkul/Product/src/Models/Product.php +++ b/packages/Webkul/Product/src/Models/Product.php @@ -305,8 +305,7 @@ public function booking_product() */ public function related_products(): BelongsToMany { - return $this->belongsToMany(static::class, 'product_relations', 'parent_id', 'child_id') - ->limit(4); + return $this->belongsToMany(static::class, 'product_relations', 'parent_id', 'child_id'); } /** @@ -316,8 +315,7 @@ public function related_products(): BelongsToMany */ public function up_sells(): BelongsToMany { - return $this->belongsToMany(static::class, 'product_up_sells', 'parent_id', 'child_id') - ->limit(4); + return $this->belongsToMany(static::class, 'product_up_sells', 'parent_id', 'child_id'); } /** @@ -327,8 +325,7 @@ public function up_sells(): BelongsToMany */ public function cross_sells(): BelongsToMany { - return $this->belongsToMany(static::class, 'product_cross_sells', 'parent_id', 'child_id') - ->limit(4); + return $this->belongsToMany(static::class, 'product_cross_sells', 'parent_id', 'child_id'); } /** diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 2e05c9133aa..d941bdf10f3 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -42,7 +42,18 @@ public function index() { Cart::collectTotals(); - return view($this->_config['view'])->with('cart', Cart::getCart()); + $cart = Cart::getCart(); + + $cart->load('items.product.cross_sells'); + + return view($this->_config['view'], [ + 'cart' => $cart, + 'crossSellProducts' => $cart->items + ->map(fn ($item) => $item->product->cross_sells) + ->collapse() + ->unique('id') + ->take(core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products')), + ]); } /** diff --git a/packages/Webkul/Shop/src/Http/Controllers/ProductsCategoriesProxyController.php b/packages/Webkul/Shop/src/Http/Controllers/ProductsCategoriesProxyController.php index 5a706ac5d84..d41acd5a769 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/ProductsCategoriesProxyController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/ProductsCategoriesProxyController.php @@ -51,9 +51,12 @@ public function index(Request $request) && $product->url_key && $product->status ) { - $customer = auth()->guard('customer')->user(); - - return view($this->_config['product_view'], compact('product', 'customer')); + return view($this->_config['product_view'], [ + 'product' => $product, + 'customer' => auth()->guard('customer')->user(), + 'relatedProducts' => $product->related_products()->take(core()->getConfigData('catalog.products.product_view_page.no_of_related_products'))->get(), + 'upSellProducts' => $product->up_sells()->take(core()->getConfigData('catalog.products.product_view_page.no_of_up_sells_products'))->get(), + ]); } } diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/cross-sells.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/cross-sells.blade.php index 52e18e3a5ed..f663e63d029 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/cross-sells.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/cross-sells.blade.php @@ -1,15 +1,4 @@ -@foreach ($cart->items as $item) - @php - $product = $item->product; - - if ($product->cross_sells()->count()) { - $products[] = $product; - $products = array_unique($products); - } - @endphp -@endforeach - -@if (isset($products)) +@if ($crossSellProductsCount = $crossSellProducts->count()) + :slides-count="{{ $crossSellProductsCount }}"> - @foreach($products as $product) - @foreach ($product->cross_sells()->paginate(2) as $index => $crossSellProduct) - - @include ('shop::products.list.card', [ - 'product' => $crossSellProduct, - 'addToCartBtnClass' => 'small-padding', - ]) - - @endforeach + @foreach ($crossSellProducts as $index => $crossSellProduct) + + @include ('shop::products.list.card', [ + 'product' => $crossSellProduct, + 'addToCartBtnClass' => 'small-padding', + ]) + @endforeach -@endif \ No newline at end of file +@endif diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php index 511cbad26ae..115fb0c61b7 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php @@ -1,6 +1,4 @@ -@php $relatedProducts = $product->related_products()->get(); @endphp - -@if ($relatedProducts->count()) +@if ($relatedProductsCount = $relatedProducts->count()) + :slides-count="{{ $relatedProductsCount }}"> @foreach ($relatedProducts as $index => $relatedProduct) @@ -28,7 +26,7 @@ -@endif \ No newline at end of file +@endif diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/up-sells.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/up-sells.blade.php index a19743dc081..46332d1780e 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/up-sells.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/up-sells.blade.php @@ -1,6 +1,4 @@ -@php $productUpSells = $product->up_sells()->get(); @endphp - -@if ($productUpSells->count()) +@if ($upSellProductsCount = $upSellProducts->count()) + :slides-count="{{ $upSellProductsCount }}"> - @foreach ($productUpSells as $index => $upSellProduct) + @foreach ($upSellProducts as $index => $upSellProduct) @include ('shop::products.list.card', [ 'product' => $upSellProduct, @@ -28,13 +26,13 @@ -@endif \ No newline at end of file +@endif From 885108ef9e8cf8471f7f9898f8ffc6d03f9e9511 Mon Sep 17 00:00:00 2001 From: shivendra gupta Date: Thu, 13 Apr 2023 17:46:12 +0530 Subject: [PATCH 2/6] fixed exception on remove last product --- .../Webkul/Shop/src/Http/Controllers/CartController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index d941bdf10f3..56bbd0061a8 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -44,11 +44,11 @@ public function index() $cart = Cart::getCart(); - $cart->load('items.product.cross_sells'); - + $cart?->load('items.product.cross_sells'); + return view($this->_config['view'], [ 'cart' => $cart, - 'crossSellProducts' => $cart->items + 'crossSellProducts' => $cart?->items ->map(fn ($item) => $item->product->cross_sells) ->collapse() ->unique('id') From d1a2910c981091763e209970be6ce01280956ca0 Mon Sep 17 00:00:00 2001 From: shivendra gupta Date: Fri, 14 Apr 2023 17:35:49 +0530 Subject: [PATCH 3/6] exception remove when configuration is blank --- .../Webkul/Shop/src/Http/Controllers/CartController.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 56bbd0061a8..35bf17e1cb5 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -3,6 +3,7 @@ namespace Webkul\Shop\Http\Controllers; use Cart; +use Hamcrest\Type\IsString; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Log; use Webkul\Checkout\Contracts\Cart as CartModel; @@ -46,13 +47,19 @@ public function index() $cart?->load('items.product.cross_sells'); + $crossSellProductCount=((core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products'))); + + if (empty($crossSellProductCount)) { + $crossSellProductCount = 0; + } + return view($this->_config['view'], [ 'cart' => $cart, 'crossSellProducts' => $cart?->items ->map(fn ($item) => $item->product->cross_sells) ->collapse() ->unique('id') - ->take(core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products')), + ->take($crossSellProductCount), ]); } From 3f725d759ee5febff48f2f0216d10d1e2de978e6 Mon Sep 17 00:00:00 2001 From: shivendra-webkul <121868701+shivendra-webkul@users.noreply.github.com> Date: Fri, 14 Apr 2023 17:39:26 +0530 Subject: [PATCH 4/6] Create CartController.php Remove unnecessary line --- packages/Webkul/Shop/src/Http/Controllers/CartController.php | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 35bf17e1cb5..1114bfac356 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -3,7 +3,6 @@ namespace Webkul\Shop\Http\Controllers; use Cart; -use Hamcrest\Type\IsString; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Log; use Webkul\Checkout\Contracts\Cart as CartModel; From aace84d9c9ac36bcd3cf26388b5552bbf76c06d0 Mon Sep 17 00:00:00 2001 From: shivendra gupta Date: Fri, 14 Apr 2023 19:34:13 +0530 Subject: [PATCH 5/6] add limit of product view --- .../Shop/src/Http/Controllers/CartController.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 1114bfac356..85a3f5f4e12 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -46,19 +46,15 @@ public function index() $cart?->load('items.product.cross_sells'); - $crossSellProductCount=((core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products'))); - - if (empty($crossSellProductCount)) { - $crossSellProductCount = 0; - } - + $crossSellProductCount = core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products'); + return view($this->_config['view'], [ 'cart' => $cart, 'crossSellProducts' => $cart?->items ->map(fn ($item) => $item->product->cross_sells) ->collapse() ->unique('id') - ->take($crossSellProductCount), + ->take(! empty($crossSellProductCount) ? $crossSellProductCount : 12), ]); } From 05bd0d209ec94000ca27b6ef1a00deca28498e07 Mon Sep 17 00:00:00 2001 From: shivendra gupta Date: Mon, 17 Apr 2023 10:57:42 +0530 Subject: [PATCH 6/6] fixed issue in 0 value --- packages/Webkul/Shop/src/Http/Controllers/CartController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 85a3f5f4e12..aeffbac8231 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -47,14 +47,14 @@ public function index() $cart?->load('items.product.cross_sells'); $crossSellProductCount = core()->getConfigData('catalog.products.cart_view_page.no_of_cross_sells_products'); - + return view($this->_config['view'], [ 'cart' => $cart, 'crossSellProducts' => $cart?->items ->map(fn ($item) => $item->product->cross_sells) ->collapse() ->unique('id') - ->take(! empty($crossSellProductCount) ? $crossSellProductCount : 12), + ->take($crossSellProductCount != "" ? $crossSellProductCount : 12), ]); }