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

Philipp Sander
quelle
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.

Suresh Chikani
quelle
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"/>
Alex Hadley
quelle
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>
Zeeshan Khuwaja
quelle
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
0

Ich hatte das gleiche Problem und möchte auch Kopf- und Fußzeilen auf der Checkout-Seite anzeigen. Bitte überprüfen Sie diesen Link, um dies nützlich zu finden.

Kopf- und Fußzeile in der Kasse hinzufügen

Dhaval
quelle