ยกเลิกขั้นตอนการลบบล็อกใน layout.xml


13

ฉันต้องการยกเลิกการลบบล็อก

บล็อกจะถูกลบออก vendor/magento/theme-frontend-blank/Magento_Checkout/layout/checkout_index_index.xml

<referenceBlock name="minicart" remove="true"/>
<referenceContainer name="header.panel" remove="true"/>
<referenceBlock name="top.search" remove="true"/>
<referenceBlock name="catalog.compare.link" remove="true"/>
<referenceBlock name="catalog.topnav" remove="true"/>
<referenceContainer name="footer-container" remove="true"/>

ตามเอกสารremove=falseหนึ่งสามารถยกเลิกข้อความกำจัดด้วย

ดังนั้นฉันจึงสร้างไฟล์ในธีมของฉันค่ะ Magento_Checkout/layout/checkout_index_index.xml

<referenceBlock name="minicart" remove="false"/>
<referenceContainer name="header.panel" remove="false"/>
<referenceBlock name="top.search" remove="false"/>
<referenceBlock name="catalog.compare.link" remove="false"/>
<referenceBlock name="catalog.topnav" remove="false"/>
<referenceContainer name="footer-container" remove="false"/>

แต่มันไม่ทำงาน ตามปัญหา GitHub นี้มันไม่ใช่ข้อผิดพลาด

แก้ไข:

ที่นี่ยังโพสต์ฟอรั่มที่เกี่ยวข้อง


3
ตั้งแต่แรกเห็นมันฟังดูเหมือนเป็นข้อบกพร่องสำหรับฉัน ปัญหาเกี่ยวกับ GitHub ถูกปิดฉันคิดว่าเพราะฟังดูเหมือนคำถาม บางทีถ้าคุณสามารถให้ตัวอย่างที่สมบูรณ์ในปัญหา (หรืออาจเป็นปัญหาใหม่) เพื่อทำซ้ำพฤติกรรมที่อาจถูกเปิดใหม่
David Verholen

คุณต้องแทนที่ไฟล์ xml ของธีม
Suresh Chikani

คำตอบ:


3

ฉันยังประสบปัญหาเดียวกันและแก้ไขโดยการแทนที่โฟลเดอร์เริ่มต้น

โดยค่าเริ่มต้นมันถูกปิดใช้งานในชุดรูปแบบ luma / blank คุณเพียงแค่ต้องสร้างโครงสร้างพื้นฐานในโฟลเดอร์ธีมของคุณและเพิ่มบล็อกที่คุณต้องการอีกครั้ง

yourthemename \ Magento_Checkout \ รูปแบบ \ แทนที่ \ ธีม \ วีโอไอพี \ ว่างเปล่า

เพียงคัดลอก checkout_index_index.xml ที่นี่และในไฟล์นี้วางรหัสด้านล่าง

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
  <body>
  <!-- <referenceBlock name="minicart" remove="true"/>-->
   <!--<referenceContainer name="header.panel" remove="true"/>-->
    <referenceBlock name="top.search" remove="true"/>
    <referenceBlock name="catalog.compare.link" remove="true"/>
    <referenceBlock name="catalog.topnav" remove="true"/>
   <!--<referenceContainer name="footer-container" remove="true"/>-->
</body>

คุณสามารถบล็อกลบจริง / เท็จเช่นนี้


3

ดูเหมือนว่านี่เป็นข้อบกพร่องและตอนนี้ได้รับการแก้ไขในการพัฒนาแล้ว

ดูการอภิปรายเกี่ยวกับ GitHub เป็นปัญหา# 1931

แพทช์ตัวเองสามารถพบได้เช่น9bd170d

ข้อเสนอแนะทางเลือกอื่นหากคุณสามารถควบคุมผู้ปกครองและลูกได้คือให้ใช้displayแทนremove

<!-- parent_layout_handle.xml -->
+ <referenceContainer name="root" display="false"/>
- <referenceContainer name="root" remove="true"/>

<!-- child_layout_handle.xml -->
+ <referenceContainer name="root" display="true"/>
- <referenceContainer name="root" remove="false"/>

3

ไม่จำเป็นต้องแทนที่สิ่งใด ๆ หลังจากที่คุณเพิ่มสิ่งเหล่านี้removeลงในfalse

<referenceBlock name="minicart" remove="false"/>
<referenceContainer name="header.panel" remove="false"/>
<referenceBlock name="top.search" remove="false"/>
<referenceBlock name="catalog.compare.link" remove="false"/>
<referenceBlock name="catalog.topnav" remove="false"/>
<referenceContainer name="footer-container" remove="false"/>

คุณต้องสร้างเลย์เอาต์ xml อีกครั้ง ตัวอย่างจะค้นหาtop.searchบล็อกและดูวิธีสร้างและคัดลอกบล็อก xml เดียวกันในไฟล์เลย์เอาต์ xml ของคุณ

ตัวอย่างจะเป็นเช่นนี้

<referenceBlock name="product.info.description" remove="false" />

และหลังจาก

<block class="Magento\Catalog\Block\Product\View\Description" name="product.info.description" template="Magento_Catalog::product/view/attribute.phtml" group="detailed_info">
                            <arguments>
                                <argument name="at_call" xsi:type="string">getDescription</argument>
                                <argument name="at_code" xsi:type="string">description</argument>
                                <argument name="css_class" xsi:type="string">description</argument>
                                <argument name="at_label" xsi:type="string">none</argument>
                                <argument name="title" translate="true" xsi:type="string">Details</argument>
                            </arguments>
                        </block>

2
คุณถูก! เมื่อฉันถามคำถามนี้ (2 ปีที่แล้ว) นี่เป็นข้อผิดพลาดและไม่ทำงาน ในขณะเดียวกันก็แก้ไข
Philipp Sander

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