Layout.xml dosyasında blok kaldırma işlemini iptal et


13

Bir bloğun kaldırılmasını geri almak istiyorum.

blok kaldırıldı 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"/>

Belgelere göre , kaldırma ile canel olabilir remove=false.

Bu yüzden temamda bir dosya oluşturdum 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"/>

Ancak bu işe yaramıyor. Bu github sorununa göre, bu bir hata değil

DÜZENLE:

Ayrıca ilgili bir forum gönderisi


3
ilk bakışta bu bana bir böcek gibi geliyor. Github'daki konu kapandı sanırım bir soru gibi geliyor. Davranışı yeniden oluşturmak için sorunda tam bir örnek (veya belki de yeni bir sorun) sağlayabilirseniz, yeniden açılabilir.
David Verholen

Tema xml dosyasını geçersiz kılmalısınız.
Suresh Chikani

Yanıtlar:


3

Aynı sorunla karşılaştım ve varsayılan klasörü geçersiz kılarak çözüldü.

Varsayılan olarak luma / blank temasında devre dışı bırakılmıştır. tema klasörünüzde temel bir yapı oluşturmanız ve istediğiniz blokları yeniden eklemeniz yeterlidir

yourthemename \ Magento_Checkout \ düzeni \ kılma \ teması \ Magento'nın \ boş

checkout_index_index.xml dosyasını buraya kopyalayın ve bu dosyaya aşağıdaki kodu yapıştırın

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

True / false kaldırılmasını bu şekilde engelleyebilirsiniz.


3

Bu bir hata gibi görünüyor ve şimdi Geliştirme'de düzeltildi.

Sayı # 1931 olarak github hakkındaki tartışmaya bakın .

Düzeltme ekinin kendisi şu şekilde bulunabilir: 9bd170d .

Ebeveyn ve çocuk üzerinde kontrolünüz varsa alternatif bir öneri kullanmak displayyerineremove

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

Gerek bu tüm ekledikten sonra, herhangi bir şey geçersiz kılmak için removeiçinfalse

<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 düzenini yeniden oluşturmanız gerekir. bir örnek, top.searchbloğu aramak ve nasıl oluşturulduğunu görmek ve ardından aynı xml bloğunu mizanpaj xml dosyanıza kopyalamak olabilir.

Bir örnek şöyle olurdu

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

ve hemen sonra

<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
haklısın! Bu soruyu sorduğumda (2 yıl önce) bu bir hataydı ve çalışmıyor. Bu arada düzeltildi.
Philipp Sander

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.