Sự cố ghi đè tệp bố cục trong Magento 2


9

Tôi đang sử dụng Magento 2.02 Tôi đã tạo chủ đề của riêng mình được gọi là 'cff', dựa trên Luma.

Tôi đang cố gắng loại bỏ catalog.compare.linkkhối trongtop.links

Bố cục cho khối này dường như được xác định trong

/vendor/magento/module-catalog/view/frontend/layout/default.xml

Và nếu tôi thêm

<referenceBlock name="catalog.compare.link" remove="true" />

trong tệp đó, như mong đợi, văn bản 'So sánh sản phẩm' sẽ biến mất khỏi khối top.links.

Tuy nhiên, tôi biết tôi không nên thay đổi tập tin nhà cung cấp. Vì vậy, tôi đang tìm đúng thư mục để tạo default.xmltệp của riêng mình để đặt mã xóa:

Tôi đã tìm khắp nơi trong tài liệu và trực tuyến nhưng không thể tìm thấy thông tin này. Tôi đã thử một vài địa điểm, không ai trong số họ làm việc. Tôi nghĩ cái này sẽ hoạt động nhưng nó cũng không:

/app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml

Xin vui lòng ai đó có thể cho tôi biết bố trí ghi đè nên đi đâu?

Đây là mã bên trong bố cục ghi đè của tôi default.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="catalog.compare.link" remove="true" />
    </body>
</page>

Trước hết, vui lòng nâng cấp lên phiên bản mới nhất của Magento2 (2.1.5) và nó sẽ hoạt động bình thường. ngoài ra, nếu bạn đang trong quá trình phát triển, đừng sử dụng triển khai nội dung tĩnh, đó là cho sản xuất và khi phát triển, bạn nên sử dụng các liên kết tượng trưng. Cũng đừng quên xóa / làm mới bộ đệm "Bộ đệm php / bộ đệm magento: tuôn ra" trong thư mục gốc của magento hoặc từ quản trị viên
Vlad Patru

Câu trả lời:


1

Bạn có thể thử loại bỏ vùng chứa tham chiếu so sánh: compare-link-wrapper

<referenceContainer name="compare-link-wrapper" remove="true" />

Có một tài liệu nhỏ liên quan đến việc xóa các phần tử qua layout xml nhưng bạn có thể tìm thấy nó ở đây: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-in cản.html

Liên quan đến câu hỏi của bạn về nơi tệp đó cần sống: Bạn đã đúng trong giả định của mình rằng chúng tôi cần mở rộng tệp default.xml bằng cách mở rộng nó trong chủ đề của chúng tôi Magento_Catalog/layout/default.xmlhoặcMagento_Theme/layout/default.xml

Tôi vừa thử sử dụng cùng một mã chính xác mà bạn cung cấp và không gặp vấn đề gì khi xóa khối so sánh. Tôi sẽ kiểm tra kỹ xem bạn đã xóa bộ nhớ cache của mình chưa và không cần phải xuất bản bất cứ điều gì vào thư mục quán rượu của bạn.

CẬP NHẬT 4/7/16:

Bạn có thể làm mới thư mục pub của mình bằng cách xóa thủ công pub/staticthư mục và sau đó chạy lệnh:

setup:static-content:deploy

Xin chào Tyler, tôi không hiểu tình cảm đầu tiên của bạn. một 'so sánh container tham chiếu' là gì? mã bạn cung cấp không xuất hiện trong /vendor/magento/module-catalog/view/frontend/layout/default.xml. Tôi đã thử tệp ở cả hai vị trí bạn đề xuất nhưng nó không hoạt động. Xin vui lòng bạn có thể nghĩ ra một lý do tại sao điều đó có thể được? Và cuối cùng, ý bạn là gì 'xuất bản bất cứ thứ gì vào thư mục quán rượu của bạn? Magento không nên chăm sóc mọi thứ trong thư mục đó? Xin lỗi vì bị mờ, đường cong học tập đẫm máu quanh những phần này ...
jodaki

Xin lỗi tôi quên nói lời cảm ơn cho câu trả lời của bạn Tyler! Tôi thực sự đánh giá cao sự giúp đỡ của bạn ..
jodaki

@jo Tôi đã thêm một số
Tyler Craft

0

Trong thư mục chủ đề của bạn, hãy đến thư mục Magento_Theme / layout trước.

sau đó tạo thư mục layout / override / base và thêm tệp default.xml từ nhà cung cấp và thêm <referenceBlock name="catalog.compare.link" remove="true" />.


không cần ghi đè, chỉ cần cập nhật lên phiên bản Magento mới nhất bằng cách sử dụng phương pháp mà anh ấy đã thử và có thể chỉ cần xóa bộ nhớ cache
Vlad Patru

0

Tôi đã thử xóa tham chiếu sidebar.additable khỏi trang danh sách sản phẩm. Tôi đã làm các thủ tục sau đây.

  1. Tôi vừa sao chép <referenceContainer name="sidebar.additional">từ \ eller \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. Và đặt nó dưới <body>. Mã phải được tìm <referenceContainer name="sidebar.additional" remove="true"></referenceContainer>trong app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml.
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.