Magento2: เริ่มต้นเพื่อจัดเรียงตามราคาจากน้อยไปมาก


11

ตกลงดังนั้นฉันมีหมวดหมู่ของฉันเรียงตามราคา Magento 2ค่าเริ่มต้นนี้เป็นราคาจากน้อยไปมาก แต่ฉันต้องการที่จะลดราคา

ค่อนข้างแน่ใจว่าฉันสามารถทำได้โดยการกำหนดcatalog_category_view.xmlธีมของฉันเองและโต้แย้งว่าproduct_list_toolbarแต่ฉันก็ไม่สามารถเข้าใจได้ ความช่วยเหลือใด ๆ


2
ใช้เหล่านี้เชื่อมโยงสองmage2.pro/t/topic/1095และmage2.pro/t/topic/1087/2 มันจะช่วยคุณ
Manashvi Birla

คำตอบ:


24

คัดลอกไฟล์:

ผู้ขาย / วีโอไอพี / โมดูลแคตตาล็อก / view / ส่วนหน้า / รูปแบบ / catalog_category_view.xml

ถึง

app / ออกแบบ / ส่วนหน้า / {{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>

ลิงก์ที่ Manashvi ชี้ไปยังตำแหน่งที่ถูกต้องในแกนกลางสำหรับไฟล์ที่ควบคุมฟังก์ชั่นนี้ แต่พวกเขาไม่มีวิธีแก้ไข ฉันไม่พบสิ่งนี้ในรหัสหลักดังนั้นฉันจึงเดาตามรหัสในไฟล์นี้:

ผู้ขาย / วีโอไอพี / โมดูลแคตตาล็อก / บล็อก / สินค้า / ProductList / Toolbar.php

และใช้ไวยากรณ์ในการกำหนดค่าอื่นในไฟล์. xml อื่น ๆ

ฉันลองโทร$block->setDefaultDirection('desc')ในไฟล์:

ผู้ขาย / วีโอไอพี / โมดูลแคตตาล็อก / view / ส่วนหน้า / แม่ / สินค้า / รายการ / แถบเครื่องมือ / sorter.phtml

ไฟล์ แต่สิ่งนี้ไม่ทำงาน ฉันยังไม่ได้ติดตามสาเหตุ แต่ใช้ xml เพื่อตั้งค่าเริ่มต้นทำงานดังนั้นฉันเพิ่งย้ายไป


1
เพียงแค่คำถามสั้น ๆ @circlesix โซลูชันของคุณใช้งานได้ดี แต่ฉันต้องการนำไปใช้กับหมวดหมู่เพียงไม่กี่ประเภท ฉันคิดว่าฉันสามารถวางลงในส่วน referenceContainer ในส่วนการปรับปรุงเค้าโครงที่กำหนดเองสำหรับแต่ละหมวดหมู่ภายในแผงการดูแลระบบ แต่สิ่งนี้ไม่มีผลกระทบ ความคิดใด ๆ
คาเฟอีนสูง

ยังไม่ได้คิดวิธีแก้ปัญหาฉันจะโพสต์ที่นี่เมื่อฉันสามารถหาวิธีที่ดีกว่าในการทำเช่นนี้
Circlesix

1
@ user1837290 คุณสามารถใส่ชิ้นส่วนเริ่มต้นและลงท้ายด้วยreferenceContainerในฟิลด์ "อัพเดต XML เค้าโครง" ในผู้ดูแลระบบของหมวดหมู่เฉพาะของคุณ ตราบใดที่คุณไม่ได้เอาชนะการเรียงลำดับทั่วโลกในธีมของคุณมันก็น่าจะใช้ได้ เกี่ยวข้อง: magento.stackexchange.com/q/167048/2415
Scruffy Paws

1
@circlesix คุณจะต้องระบุแอตทริบิวต์ชื่อเมื่ออ้างอิงบล็อก
Miguel Felipe Guillen Calo

1
แค่ต้องการแสดงความคิดเห็นและพูดว่ายังคงใช้งานได้ใน Magento 2.3 มันแก้ไขปัญหาให้ฉันได้!
แดเนียลแบล็

5

คุณสามารถใช้เวอร์ชันที่สั้นกว่าได้เช่นกัน สำหรับหมวดหมู่เฉพาะคุณสามารถใช้ไฟล์แยกต่างหาก: catalog_category_view_id_X.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>
    <referenceBlock name="category.products.list">
        <action method="setDefaultDirection">
            <argument name="dir" xsi:type="string">desc</argument>
        </action>
    </referenceBlock>
</body>
</page>

โซลูชันของ (โดยใช้เฉพาะบล็อกอ้างอิงและเนื้อหาที่มี) ยังสามารถเพิ่มไปยัง XML ที่กำหนดเองในหมวดหมู่หากคุณไม่ต้องการสร้างไฟล์รูปแบบที่กำหนดเอง
Phil Birnie
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.