Khi tôi đọc tài liệu về bố cục trang ( http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page ) tôi thấy rằng các hướng dẫn sau trong tài liệu XML này được cho phép:
<container>
<referenceContainer>
<move>
<update>
Vì <referenceBlock name="block.name" remove="true" />
không phải là một trong những hướng dẫn được phép, làm cách nào tôi có thể xóa một yếu tố nhất định trong bố cục trang cụ thể?
Những gì tôi muốn cho các danh mục hàng đầu là một thiết kế trang hoàn toàn khác. Tôi không cần một số container và khối nhất định cho thiết kế này. Đối với các danh mục này, tôi chỉ muốn hiển thị các danh mục con chứ không phải các sản phẩm.
Điều tôi đã làm bây giờ là, thêm các dòng sau trong bố cục trang của tôi: (in design\frontend\Vendor\Name-of-theme\Magento_Theme\page_layout\catalog-blocks.xml
)
<move element="category.image" destination="delete"></move>
<move element="category.description" destination="delete"></move>
<move element="category.products" destination="delete"></move>
<move element="page.main.title" destination="delete"></move>
Trong phần design\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xml
tôi đã thêm:
<layout id="catalog-blocks">
<label translate="true">Catalog Blocks</label>
</layout>
Tôi đã đưa ra tất cả các danh mục hàng đầu bố cục trang khối danh mục này trong quản trị viên.
Sau đó, trong bố cục chính ( design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml
) tôi đã thêm:
<referenceBlock name="delete" remove="true" />
Vì vậy, toàn bộ khối xóa sẽ bị xóa, với tất cả những điều tôi đã di chuyển ở đây, trong bố cục trang. Điều này hoạt động tốt! Nó đạt được chính xác những gì tôi muốn nhưng toàn bộ điều này có vẻ với tôi một chút hackish.
Đây có được coi là một thực hành tốt? Nếu không, điều gì sẽ là một sự thay thế tốt?
Chỉnh sửa 1 : Thay đổi remove
-tag trong câu hỏi của tôi với câu hỏi đúng để tránh nhầm lẫn.
Chỉnh sửa 2 : Một số thông tin khác về các tệp và vị trí tệp.