अवरोही क्रम में उत्पादों को कैसे सूचीबद्ध करें?


18

यह सरल लग रहा था, लेकिन अन्यथा साबित हो रहा है - मैं सिर्फ उच्च -> निम्न से अपने स्टोर में सभी उत्पादों को सूचीबद्ध करना चाहता हूं

ऐसा करने के लिए, मैं गया:

Configuration -> Catalog -> Product Listing Sort by -> (I Selected) "Price"

अब यह प्रत्येक उत्पाद को सभी उत्पादों के लिए निम्न से उच्च स्तर पर क्रमबद्ध करता है - लेकिन यह अवरोही बनाम अवरोही क्रम को चुनने का एक तरीका नहीं लगता है।

क्या मैं जिस क्षेत्र को देख रहा हूं, वहां कुछ ऐसा है या क्या मुझे ऐसा करने के लिए किसी फ़ाइल को संशोधित करना है?


अगर मुझे आपकी व्याख्या सही ढंग से समझ में आ गई है, तो आपको priceउत्पादों को उच्च से निम्न तक छाँटने के लिए बस फिर से कॉलम पर क्लिक करना चाहिए ।
Mr_Green

आप इस स्क्रिप्ट fmeaddons.com/magento/…

जवाबों:


42

आप कॉन्फ़िगरेशन से उत्पाद सूची के लिए डिफ़ॉल्ट क्रम दिशा नहीं बदल सकते

हालाँकि आप लेआउट XML से दिशा बदल सकते हैं

यहाँ कुछ उदाहरण हैं जो आप अपने लेआउट XML फ़ाइल में रख सकते हैं, जैसे local.xml:

<?xml version="1.0"?>
<layout version="0.1.0">
    <!-- Change default direction for simple searches -->
    <catalogsearch_result_index>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>desc</dir></action>
        </reference>
    </catalogsearch_result_index>

    <!-- Change default direction for advanced searches -->
    <catalogsearch_advanced_result>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>desc</dir></action>
        </reference>
    </catalogsearch_advanced_result>

    <!-- Change default direction for a category without layered navigation -->
    <catalog_category_default>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>desc</dir></action>
        </reference>
    </catalog_category_default>

    <!-- Change default direction for a category with layered navigation -->
    <catalog_category_layered>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>desc</dir></action>
        </reference>
    </catalog_category_layered>

    <!-- Change default direction for category with ID 3 -->
    <CATEGORY_3>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>desc</dir></action>                                   
        </reference>
    </CATEGORY_3>
</layout>

इसके अलावा आप बैकएंड में अपनी श्रेणी के कस्टम डिज़ाइन के रूप में लेआउट एक्सएमएल जोड़ सकते हैं । यह सेटिंग XML फ़ाइल में आपके द्वारा सेट किए गए को अधिलेखित कर देगी:

कस्टम डिज़ाइन XML का उपयोग करके डिफ़ॉल्ट क्रम दिशा सेट करें


6

प्रश्न को CE 1.7.0.2 टैग किया गया है, लेकिन यह समाधान 1.9.1.1 पर उन लोगों के लिए उपयोगी है, इसलिए मैं इसे यहां जोड़ रहा हूं।

हमें एक विपरीत समस्या थी जहां हमें मूल्य द्वारा छांटे जाने पर सबसे पहले सबसे सस्ते उत्पादों को दिखाने की आवश्यकता थी। ओपी की पहली चिंता के लिए, यह लागू नहीं होता है क्योंकि Magento CE 1.9 में यह पहले से ही नीचे उतरने के लिए चूकता है इसलिए वास्तव में इसकी आवश्यकता नहीं है। दूसरी चिंता, आरोही बनाम अवरोही चुनने के तरीके के लिए, यह एक XML फ़ाइल या कस्टम लेआउट अपडेट के माध्यम से किया जा सकता है। उत्तरार्द्ध ज्यादातर मामलों में पसंदीदा समाधान है और अधिकांश लोग सेटिंग्स को अपडेट करने के लिए XML फ़ाइल अपलोड करने के लिए FTP'ing की परेशानी से बचेंगे।

कैटलॉग> प्रबंधन श्रेणियाँ> श्रेणी > कस्टम डिज़ाइन> कस्टम लेआउट अपडेट में यह कैसा दिखता है :

पहले सबसे सस्ते उत्पाद दिखाता है, सबसे महंगा नहीं यहाँ कोड है:

<reference name="product_list_toolbar">
    <action method="setDefaultDirection"><string>asc</string></action>
    <action method="setDefaultOrder"><string>price</string></action>
</reference>

अवरोही बनाम अवरोही का चयन करने के लिए, बस अवरोही को अवरोही में बदलें ।

एक विकल्प के रूप में, आप उस छँटाई के लिए मूल्य भी बदल सकते हैं जिसकी आपको ज़रूरत है। आप इसे हटा सकते हैं ताकि यह डिफ़ॉल्ट रूप से सेट किए गए किसी भी उत्पाद सूची क्रमबद्ध पर asc पर डिफ़ॉल्ट हो।


3

ऊपर दिए गए समाधान सीई 1.8 के साथ कोई अंतर नहीं करते थे, इसलिए मुझे कोड / स्थानीय /../ सूची / मॉडल / श्रेणी में एफटीपी सूची मॉडल कार्यक्षमता को ओवरराइड करके इस मुद्दे को हल करना था।

/**
 * Override category products collection
 * to sort by price descending
 *
 * @return Varien_Data_Collection_Db
 */
public function getProductCollection()
{  
    $collection = parent::getProductCollection()->setOrder('price', 'DESC');
    return $collection;
}

उम्मीद है की यह मदद करेगा। :-)


नमस्ते, क्या हम टूलबार.phtml फ़ाइल के माध्यम से वर्तमान क्रम को बदल सकते हैं ??
जॉर्डन एस चेम्पैथी

मेरे मामले में एक श्रेणी पहले नए उत्पादों को दिखाती है;
जॉर्डन एस चेम्पैथी

3

निम्नलिखित xml ने सीई 1.8 में मेरे लिए काम किया:

<layout>
    <catalog_category_default>
      <reference name="product_list_toolbar">
          <action method="setDefaultDirection"><string>asc</string></action>
          <action method="setDefaultOrder"><string>price</string></action>
      </reference>
    </catalog_category_default>

    <catalog_category_layered>
      <reference name="product_list_toolbar">
        <action method="setDefaultDirection"><string>asc</string></action>
        <action method="setDefaultOrder"><string>price</string></action>
      </reference>
    </catalog_category_layered>

    <catalogsearch_result_index>
      <reference name="search_result_list">
        <action method="setDefaultDirection"><string>asc</string></action>
        <action method="setDefaultOrder"><string>price</string></action>
      </reference>
    </catalogsearch_result_index>
    <catalogsearch_advanced_result>
      <reference name="search_result_list">
        <action method="setDefaultDirection"><string>asc</string></action>
        <action method="setDefaultOrder"><string>price</string></action>
      </reference>
    </catalogsearch_advanced_result>
</layout>

सोचा था कि मैं पोस्ट करूंगा क्योंकि उपरोक्त दोनों उपाय मेरे लिए Magento 1.8 (समुदाय) में काम नहीं करते।

'setDefaultOrder' मुझे लगता है कि कोई भी विशेषता कोड ले सकता है, और यदि आप केवल व्यवस्थापक से डिफ़ॉल्ट का उपयोग करना चाहते हैं तो इसकी आवश्यकता नहीं है।

आशा है कि यह किसी के लिए उपयोगी है।


1

/ एप्लिकेशन / कोड / कोर / मैज / कैटलॉग / मॉडल / पथ पर जाएं और Product.php में नीचे कोड जोड़ें

public function getRelatedProductCollection()
    {
$collection = $this->getLinkInstance()->useRelatedLinks()
        ->getProductCollection()
        ->setIsStrongMode();
    $collection->setProduct($this);
    $collection->setOrder('price', 'DESC');
    return $collection;
    }

इसे आप वजन के लिए भी इस्तेमाल कर सकते हैं। 'मूल्य ’के स्थान पर Just वजन’ लिखिए। आरोही के लिए 'DESC' के स्थान पर 'ASC' लिखिए।


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