ปัญหาการเอาชนะไฟล์เลย์เอาต์ใน Magento 2


9

ฉันใช้ Magento 2.02 ฉันได้สร้างธีมของตัวเองที่ชื่อว่า 'cff' ซึ่งมีพื้นฐานมาจาก Luma

ฉันกำลังพยายามลบcatalog.compare.linkบล็อกtop.links

ดูเหมือนว่าโครงร่างสำหรับบล็อกนี้จะถูกกำหนด

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

และถ้าฉันเพิ่ม

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

ในไฟล์นั้นตามที่คาดไว้ข้อความ 'เปรียบเทียบผลิตภัณฑ์' จะหายไปจากบล็อก top.links

อย่างไรก็ตามฉันรู้ว่าฉันไม่ควรเปลี่ยนไฟล์ผู้ขาย ดังนั้นฉันกำลังมองหาโฟลเดอร์ที่ถูกต้องที่จะสร้างdefault.xmlไฟล์ของฉันเองเพื่อวางรหัสลบ:

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

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

ได้โปรดบอกใครสักคนว่าเลย์เอาต์การแทนที่ควรจะไปที่ไหน

นี่คือรหัสที่อยู่ในเลย์เอาต์ของฉัน 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>

ก่อนอื่นกรุณาอัปเกรดเป็นเวอร์ชันล่าสุดของ Magento2 (2.1.5) และควรใช้งานได้ตามปกติ ถ้าคุณอยู่ในสภาพแวดล้อมการพัฒนาอย่าใช้การปรับใช้เนื้อหาแบบสแตติกนั่นก็เพื่อการผลิตและในการพัฒนาคุณควรใช้ symlink อย่าลืมลบ / รีเฟรชแคช "php bin / magento cache: flush" ในรูทของวีโอไอพีของคุณหรือจากผู้ดูแลระบบ
Vlad Patru

คำตอบ:


1

คุณสามารถลองลบคอนเทนเนอร์อ้างอิงเปรียบเทียบ: compare-link-wrapper

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

มีเอกสารเล็กน้อยเกี่ยวกับการลบองค์ประกอบผ่าน layout xml แต่คุณสามารถค้นหาได้ที่นี่: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

ในส่วนที่เกี่ยวกับคำถามของคุณเกี่ยวกับตำแหน่งที่ไฟล์นั้นต้องการใช้งาน: คุณแก้ไขข้อสันนิษฐานของคุณว่าเราจำเป็นต้องขยาย default.xml โดยขยายไฟล์ในธีมของเราMagento_Catalog/layout/default.xmlหรือMagento_Theme/layout/default.xml

ฉันเพิ่งลองใช้รหัสเดียวกันกับที่คุณให้ไว้และไม่มีปัญหาในการลบบล็อกเปรียบเทียบฉันจะตรวจสอบอีกครั้งว่าคุณล้างแคชของคุณและไม่จำเป็นต้องเผยแพร่อะไรไปยังไดเรกทอรีของผับ

อัพเดท 4/7/16:

คุณสามารถรีเฟรชไดเร็กตอรี่ pub ของคุณได้ด้วยการลบไดเร็กตอรี่pub/staticจากนั้นรันคำสั่ง:

setup:static-content:deploy

สวัสดีไทเลอร์ฉันไม่เข้าใจประโยคแรกของคุณ 'เปรียบเทียบคอนเทนเนอร์อ้างอิง' คืออะไร รหัสที่คุณให้ไม่ปรากฏใน /vendor/magento/module-catalog/view/frontend/layout/default.xml ฉันได้ลองใช้ไฟล์ในทั้งสองที่ที่คุณแนะนำแล้ว แต่ใช้ไม่ได้ ได้โปรดนึกถึงเหตุผลที่อาจเป็นเพราะอะไร และท้ายที่สุดคุณหมายถึง 'เผยแพร่อะไรไปยังสารบบผับของคุณ? วีโอไอพีไม่ควรดูแลทุกอย่างในโฟลเดอร์นั้นหรือ ขออภัยที่จะสลัวการเรียนรู้โค้งสูงชันเลือดรอบชิ้นส่วนเหล่านี้ ...
jodaki

ขอโทษฉันลืมพูดขอบคุณสำหรับคำตอบของคุณ Tyler! ฉันซาบซึ้งในความช่วยเหลือของคุณจริงๆ ..
jodaki

@jo ฉันได้เพิ่มบางอย่าง
Tyler Craft

0

ในโฟลเดอร์ชุดรูปแบบของคุณไปที่Magento_Theme / layout layoutก่อน

แล้วสร้างรูปแบบ / แทนที่ฐาน /โฟลเดอร์และเพิ่มไฟล์ default.xml<referenceBlock name="catalog.compare.link" remove="true" />จากผู้ผลิตและเพิ่ม


ไม่จำเป็นต้องแทนที่เพียงอัปเดต Magento เวอร์ชันล่าสุดใช้วิธีที่เขาได้ลองแล้วและอาจจะลบแคชออกไป
Vlad Patru

0

ฉันพยายามลบ ReferenceContainer sidebar.additionalจากหน้ารายการผลิตภัณฑ์ ฉันทำตามขั้นตอนต่อไปนี้

  1. ฉันเพิ่งคัดลอก<referenceContainer name="sidebar.additional">จาก \ seller \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. <body>และวางไว้ใต้ รหัสควรดู<referenceContainer name="sidebar.additional" remove="true"></referenceContainer>ในแอพ \ design \ frontend \ theme \ theme-theme \ Magento_Theme \ layout \ default.xml
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.