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

나는 또한 같은 문제에 직면했으며 기본 폴더를 재정 의하여 해결되었습니다.

루마 / 빈 테마에서는 기본적으로 비활성화되어 있습니다. 테마 폴더에 기본 구조를 만들고 원하는 블록을 다시 추가하면됩니다.

yourthemename \ Magento_Checkout \ layout \ override \ theme \ Magento \ blank

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>

이와 같이 true / false 제거를 차단할 수 있습니다.


3

이것은 버그 인 것처럼 보이며 이제 개발에서 수정되었습니다.

이슈 # 1931 로 github에 대한 토론을 참조하십시오 .

패치 자체는 다음과 같이 찾을 수 있습니다 : 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.