Magento2: Mặc định để sắp xếp theo giá giảm dần không tăng


11

Ok vì vậy tôi có thể loại của tôi sắp xếp theo giá. Magento 2 mặc định điều này để tăng giá. Nhưng tôi thích nó sẽ được giảm giá.

Khá chắc chắn rằng tôi có thể làm điều này bằng cách tùy chỉnh catalog_category_view.xmltrong chủ đề của mình và đưa ra một đối số product_list_toolbarnhưng tôi hoàn toàn không thể tìm ra nó. Có ai giúp đỡ không?


2
sử dụng hai liên kết này mage2.pro/t/topic/1095mage2.pro/t/topic/1087/2 . nó sẽ giúp bạn
Manashvi Birla

Câu trả lời:


24

Sao chép tập tin:

nhà cung cấp / magento / mô-đun-danh mục / chế độ xem / frontend / layout / catalog_carget_view.xml

đến

ứng dụng / thiết kế / frontend / {{Vender_Namespace}} / {{Theme_Name}} / Magento_Catalog / layout / catalog_carget_view.xml

vào chủ đề của bạn và thêm nó vào tập tin:

<?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>

Các liên kết mà Manashvi trỏ đến đúng vị trí trong lõi cho các tệp kiểm soát chức năng này, nhưng chúng không cung cấp giải pháp. Tôi đã không tìm thấy điều này ở bất cứ đâu trong mã lõi vì vậy tôi chỉ đoán dựa trên mã trong tệp này:

nhà cung cấp / magento / mô-đun danh mục / Khối / Sản phẩm / Danh sách sản phẩm / Thanh công cụ.php

và sử dụng cú pháp trong cấu hình khác trong các tệp .xml khác.

Tôi đã thử gọi $block->setDefaultDirection('desc')trong tập tin:

nhà cung cấp / magento / mô-đun danh mục / xem / frontend / mẫu / sản phẩm / danh sách / thanh công cụ / sorter.phtml

tập tin nhưng điều này đã không làm việc. Tôi đã không theo dõi lý do tại sao, nhưng sử dụng xml để đặt mặc định hoạt động, vì vậy tôi mới chuyển sang.


1
Chỉ cần một câu hỏi nhanh @circlesix giải pháp của bạn hoạt động rất tốt, nhưng tôi chỉ muốn áp dụng nó cho một vài loại. Tôi nghĩ rằng tôi có thể thả phần tham chiếuContainer vào phần Cập nhật bố cục tùy chỉnh cho từng danh mục trong bảng quản trị nhưng điều này không ảnh hưởng. Có ý kiến ​​gì không?
caffeinehigh

Chưa tìm ra giải pháp nào, tôi sẽ đăng ở đây khi tôi có thể tìm ra cách tốt hơn để làm điều này.
circleix

1
@ user1837290, bạn chỉ có thể đặt đoạn bắt đầu và kết thúc bằng referenceContainertrong trường "Cập nhật bố cục XML" trong quản trị viên của các danh mục cụ thể của bạn. Miễn là bạn không ghi đè sắp xếp toàn cầu trong chủ đề của mình thì nó sẽ hoạt động. Liên quan: magento.stackexchange.com/q/167048/2415
Scruffy Paws

1
@circlesix bạn chỉ cần cung cấp thuộc tính tên khi tham chiếu một khối
Miguel Felipe Guillen Calo

1
Chỉ muốn bình luận và nói rằng điều này vẫn hoạt động như Magento 2.3, nó chỉ giải quyết vấn đề cho tôi!
Daniel Black

5

Bạn có thể sử dụng phiên bản ngắn hơn là tốt. Đối với các danh mục cụ thể, bạn có thể sử dụng các tệp riêng biệt: catalog_carget_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>

Giải pháp (chỉ sử dụng khối tham chiếu và chứa nội dung) cũng có thể được thêm vào XML tùy chỉnh trong danh mục nếu bạn không muốn tạo tệp bố cục tùy chỉnh.
Phil Birnie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.