Batalkan proses penghapusan blok di layout.xml


13

Saya ingin membatalkan penghapusan blok.

blok dihapus di 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"/>

Menurut dokumentasi , seseorang dapat menghapusnya remove=false.

Jadi saya membuat file dengan tema saya di 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"/>

Tetapi ini tidak berhasil. Menurut masalah github ini, ini bukan bug

EDIT:

Berikut juga pos forum terkait


3
pada pandangan pertama ini terdengar seperti bug bagi saya. Masalah pada github ditutup saya pikir karena kedengarannya seperti pertanyaan. Mungkin jika Anda bisa memberikan contoh lengkap dalam masalah (atau mungkin juga masalah baru) untuk mereproduksi perilaku itu bisa dibuka kembali.
David Verholen

Anda harus mengganti file xml tema.
Suresh Chikani

Jawaban:


3

Saya juga menghadapi masalah yang sama dan diselesaikan dengan mengganti folder default.

Secara default itu dinonaktifkan dalam tema luma / kosong. Anda hanya perlu membuat struktur dasar pada folder tema Anda dan menambahkan kembali blok yang Anda inginkan

namamu namamu \ Magento_Checkout \ layout \ override \ theme \ Magento \ blank

cukup salin checkout_index_index.xml di sini dan di file ini tempelkan kode di bawah ini

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

Anda dapat memblokir hapus benar / salah seperti ini.


3

Sepertinya ini bug, dan sekarang telah diperbaiki di Pengembangan.

Lihat diskusi tentang github sebagai masalah # 1931 .

Patch itu sendiri dapat ditemukan sebagai: 9bd170d .

Saran yang alternatif, jika Anda memiliki kendali atas orang tua dan anak, adalah menggunakan displaybukannyaremove

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

Tidak perlu mengesampingkan apa pun, setelah Anda menambahkan semua ini removeuntukfalse

<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"/>

Anda perlu membuat kembali tata letak mereka xml lagi. contohnya adalah untuk mencari top.searchblok dan melihat bagaimana itu dibuat dan kemudian menyalin blok xml yang sama di file xml tata letak Anda.

Contohnya akan seperti ini

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

dan setelah itu

<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
Anda benar! ketika saya mengajukan pertanyaan ini (2 tahun lalu) ini adalah bug dan tidak berfungsi. Sementara itu sudah diperbaiki.
Philipp Sander

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.