Magento 2 - उत्पाद विशेषता का उपयोग करके श्रेणी पृष्ठ पर उत्पाद छँटाई मुद्दा


11

मैंने उत्पाद विशेषता बनाई और इसे विशेषता सेट पर असाइन किया, ताकि यह व्यवस्थापक उत्पाद विवरण पृष्ठ में दिखाई दे। इस उत्पाद विशेषता के आधार पर मैं श्रेणी पृष्ठ पर उत्पाद संग्रह को सॉर्ट करता हूं।

समस्या यह है, मैं करने के Catalog Input Type for Store Ownerलिए तैयार है Text field। मुझे इस विशेषता के आधार पर उत्पाद संग्रह को सॉर्ट करने के लिए प्रत्येक उत्पाद के विरुद्ध संख्यात्मक मान सेट करना होगा। यह 1-9 से ठीक काम करता है लेकिन जब मैं गिनती को 9 से अधिक बढ़ाता हूं जैसे 10, 11 आदि तो यह छंटाई को नष्ट कर देता है। यह हो सकता है क्योंकि फ़ील्ड प्रकार संख्या प्रकार नहीं है

कोई मदद, अनुभव और ज्ञान साझा करने की सराहना की जाएगी।

जवाबों:


3

कृपया कस्टम प्लगइन का उपयोग करके निम्नलिखित तरीका आज़माएं, इसलिए कृपया नीचे दिए अनुसार अपने कस्टम एक्सटेंशन में प्लगइन कोड जोड़ें

/Vendor/Module/etc/frontend/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Catalog\Block\Product\ProductList\Toolbar">
        <plugin name="vendormodule_catalog_block_product_listproduct_toolbar" type="Vendor\Module\Plugin\Catalog\Block\Product\ProductList\Toolbar"/>
    </type>
</config>

/Vendor/Module/Plugin/Catalog/Block/Product/ProductList/Toolbar.php

<?php

namespace Vendor\Module\Plugin\Catalog\Block\Product\ProductList;

class Toolbar
{
    /**
     * @var \Magento\Framework\Registry
     */
    protected $_coreRegistry;

    public function __construct(\Magento\Framework\Registry $coreRegistry)
    {
        $this->_coreRegistry = $coreRegistry;
    }

    /**
     * @param \Magento\Catalog\Block\Product\ProductList\Toolbar $toolbar
     * @param \Magento\Framework\Data\Collection $collection
     * @return array
     */
    public function beforeSetCollection(
        \Magento\Catalog\Block\Product\ProductList\Toolbar $toolbar,
        $collection
    ){
        $collection->getSelect()->group('e.entity_id')->order('{YOUR CUSTOM ATTRIBUTE CODE} ASC');
        $collection->getSize();

        return [$collection];
    }
}

कृपया कोशिश करें और मुझे बताएं कि क्या आपको कोई मुद्दा मिलता है।


भाई मैं छँटाई के लिए उसी का उपयोग करते हैं। जब मैं 1-9अपने कस्टम उत्पाद विशेषता से मूल्य दर्ज करता हूं तो यह ठीक काम करता है लेकिन जब मैं 9 से 10, 11 की तरह मान बढ़ाता हूं, तो यह मेरे प्रश्न में कहा गया छँटाई को नष्ट कर देगा। वैसे भी जवाब देने के लिए धन्यवाद। आपके प्रयास के लिए। +1
मुहम्मद हशम

इसलिए अपने डेटाबेस विशेषता प्रकार में
अंतर के

व्यवस्थापक से उत्पाद विशेषता निर्माण के दौरान, उत्पाद विशेषता प्रकार को सेट करने के लिए वैसे भी intक्या है ? Catalog Input Type for Store Owner संख्या या आदि में कुछ भी नहीं है
मुहम्मद हशम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.