Brechen Sie das Entfernen des Blocks in layout.xml ab


13

Ich möchte das Entfernen eines Blocks rückgängig machen.

Der Block wird in entfernt 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"/>

Laut Dokumentation kann man das Entfernen mit abbrechen remove=false.

Also habe ich eine Datei in meinem Theme in erstellt 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"/>

Das geht aber nicht. Laut diesem Github-Problem handelt es sich nicht um einen Fehler

BEARBEITEN:

Hier ist auch ein verwandter Forumsbeitrag


3
Auf den ersten Blick klingt das für mich wie ein Käfer. Ich denke, das Thema auf Github wurde geschlossen, weil es sich wie eine Frage anhört. Wenn Sie in der Ausgabe ein vollständiges Beispiel (oder auch eine neue Ausgabe) angeben könnten, um das Verhalten zu reproduzieren, könnte sie erneut geöffnet werden.
David Verholen

Sie müssen die Theme-XML-Datei überschreiben.
Suresh Chikani

Antworten:


3

Ich hatte auch das gleiche Problem und es wurde durch Überschreiben des Standardordners behoben.

Standardmäßig ist es im Luma / Blank-Theme deaktiviert. Sie müssen lediglich eine grundlegende Struktur für Ihren Themenordner erstellen und die gewünschten Blöcke erneut hinzufügen

IhrMename \ Magento_Checkout \ layout \ override \ theme \ Magento \ blank

Kopieren Sie einfach checkout_index_index.xml hierher und fügen Sie in diese Datei den folgenden Code ein

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

Sie können das Entfernen von true / false auf diese Weise blockieren.


3

Dies scheint ein Fehler zu sein, der jetzt in der Entwicklung behoben wurde.

Siehe die Diskussion über Github als Ausgabe Nr. 1931 .

Der Patch selbst kann wie folgt gefunden werden: 9bd170d .

Ein alternativer Vorschlag, wenn Sie die Kontrolle über Eltern und Kind haben, war, displayanstelle von zu verwendenremove

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

Keine Notwendigkeit , außer Kraft zu setzen etwas, nachdem Sie alle diese hinzufügen removezufalse

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

Sie müssen ihre Layout-XML erneut erstellen. Ein Beispiel wäre, nach einem top.searchBlock zu suchen und zu sehen, wie er erstellt wurde, und dann dieselbe Block-XML in Ihre Layout-XML-Datei zu kopieren.

Ein Beispiel wäre so

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

und gleich danach

<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
Du hast Recht! Als ich diese Frage stellte (vor 2 Jahren), war dies ein Fehler und funktionierte nicht. Inzwischen ist es behoben.
Philipp Sander

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.