Magento2: डिफ़ॉल्ट रूप से आरोही नहीं होने के कारण मूल्य के आधार पर छाँटना


11

ठीक है, इसलिए मेरे पास कीमत के हिसाब से मेरी श्रेणियां हैं। Magento 2 चढ़ते मूल्य के लिए यह चूक। लेकिन मैं इसे कीमत के हिसाब से उतरना पसंद करूंगा।

मुझे यकीन है कि मैं catalog_category_view.xmlअपनी थीम को कस्टमाइज़ करके और एक तर्क देकर ऐसा कर सकता हूं, product_list_toolbarलेकिन मैं अभी इसका पता नहीं लगा सकता। कोई मदद?


2
इन दो लिंक का उपयोग करें mage2.pro/t/topic/1095 और mage2.pro/t/topic/1087/2 । यह आपकी मदद करेगा
मानवी बिड़ला

जवाबों:


24

फ़ाइल की प्रतिलिपि बनाएँ:

विक्रेता / Magento / मॉड्यूल-सूची / देखें / दृश्यपटल / लेआउट / catalog_category_view.xml

सेवा

एप्लिकेशन / डिजाइन / दृश्यपटल / {{Vender_Namespace}} / {{THEME_NAME}} / Magento_Catalog / लेआउट / catalog_category_view.xml

अपने विषय में और इस फाइल में जोड़ें:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <referenceBlock name="category.products.list">
                <action method="setDefaultDirection">
                    <argument name="dir" xsi:type="string">desc</argument>
                </action>
            </referenceBlock>
        </referenceContainer>
        <move element="category.view.container" destination="content" before="-"/>
    </body>
</page>

इस कार्यशीलता को नियंत्रित करने वाली फ़ाइलों के लिए मानवी ने कोर के सही स्थानों को इंगित किया है, लेकिन वे एक समाधान प्रदान नहीं करते हैं। मुझे यह कोर कोड में कहीं भी नहीं मिला इसलिए मैंने इस फाइल में कोड के आधार पर एक अनुमान लगाया:

विक्रेता / Magento / मॉड्यूल-सूची / ब्लॉक / उत्पाद / productlist / Toolbar.php

और अन्य .xml फ़ाइलों में अन्य कॉन्फ़िगरेशन में सिंटैक्स का उपयोग किया।

मैंने $block->setDefaultDirection('desc')फ़ाइल में कॉल करने का प्रयास किया :

विक्रेता / Magento / मॉड्यूल-सूची / देखें / दृश्यपटल / टेम्पलेट्स / उत्पाद / सूची / उपकरण पट्टी / sorter.phtml

फ़ाइल लेकिन यह काम नहीं किया। मैंने नीचे ट्रैक क्यों नहीं किया है, लेकिन डिफ़ॉल्ट काम करने के लिए xml का उपयोग करते हुए, इसलिए मैं बस आगे बढ़ा।


1
बस एक त्वरित प्रश्न @circlesix आपका समाधान महान काम करता है, लेकिन मैं इसे केवल कुछ ही श्रेणियों में लागू करना चाहूंगा। मैंने सोचा था कि मैं संदर्भ पैनल में कस्टम पैनल अपडेट अनुभाग में व्यवस्थापक पैनल के भीतर प्रत्येक श्रेणी के लिए ड्रॉप करने में सक्षम हो जाऊंगा लेकिन इसका कोई प्रभाव नहीं है। कोई विचार?
caffeinehigh

अभी तक एक समाधान नहीं मिला है, मैं यहाँ पोस्ट करूँगा जब मैं यह करने के लिए एक बेहतर तरीका के साथ आ सकता हूं।
वृहस्पति २

1
@ user1837290, आप बस referenceContainerअपने विशिष्ट श्रेणियों के व्यवस्थापक में "लेआउट अपडेट XML" फ़ील्ड के साथ आरंभ और समाप्ति कर सकते हैं । जब तक आप अपने विषय में विश्व स्तर पर छँटाई नहीं कर रहे हैं, तब तक यह काम करना चाहिए। संबंधित: magento.stackexchange.com/q/167048/2415
Scruffy पॉज

1
एक ब्लॉक का संदर्भ देते समय आपको केवल नाम विशेषता प्रदान करने की आवश्यकता है
मिगुएल फेलिप गुलेन कैलो

1
बस टिप्पणी करना चाहता था और कहना चाहता था कि यह अभी भी Magento 2.3 के रूप में काम करता है, यह सिर्फ मेरे लिए समस्या को हल करता है!
डैनियल ब्लैक

5

आप छोटे संस्करण का भी उपयोग कर सकते हैं। विशिष्ट श्रेणियों के लिए आप अलग फ़ाइलों का उपयोग कर सकते हैं: कैटलॉग_श्रेणी_व्यू_एक्स_एक्सएमएक्सएल

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
    <referenceBlock name="category.products.list">
        <action method="setDefaultDirection">
            <argument name="dir" xsi:type="string">desc</argument>
        </action>
    </referenceBlock>
</body>
</page>

यदि आप कस्टम लेआउट फ़ाइल नहीं बनाना चाहते हैं, तो श्रेणी में कस्टम XML (केवल संदर्भ ब्लॉक और सामग्री का उपयोग करके) को कस्टम XML में भी जोड़ा जा सकता है।
फिल बिरनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.