마 젠토 2 : XML을 통해 컨테이너 내에 텍스트를 추가하는 방법


11

바닥 글의 링크 목록 전에 한 줄의 텍스트를 렌더링하려고합니다. 이를 위해 템플릿 파일을 생성하는 것은이 작업을위한 자원 낭비 인 것 같습니다. 내가 이해했듯이 Magento\Framework\View\Element\Text레이아웃 의 블록으로 텍스트를 출력 할 수 있습니다.

XML

<referenceContainer name="footer">
  <container name="footer.column.about_us" htmlTag="div" htmlClass="column about-us" before="-">
    <container name="column.about_us.label" htmlTag="div" htmlClass="label">
      <block class="Magento\Framework\View\Element\Text" name="about_us.label">
        <arguments>
          <argument name="data" xsi:type="array">
            <item name="text" xsi:type="string">About Us</item>
          </argument>
        </arguments>
      </block>
    </container>
    <block class="Magento\Framework\View\Element\Html\Links" name="footer_links.about_us">
      <arguments>
        <argument name="css_class" xsi:type="string">footer links</argument>
      </arguments>
    </block>
  </container>
</referenceContainer>

앞의 내용은 아무것도 출력하지 않으며, 이것이 지원되지 않는지, 내가 잘못하고 있거나 다른 적절한 방법이 있는지 확실하지 않습니다.

분명히, 현재보고있는 것은 :

<div class="column about-us">
  <ul class="footer links">...</ul>
</div>

보고 싶을 때 :

<div class="column about-us">
  <div class="label">About Us</div>
  <ul class="footer links">...</ul>
</div>

어떤 제안?

답변:


22

배열없이 직접 인수를 사용해야합니다.

대신에

    <arguments>
      <argument name="data" xsi:type="array">
        <item name="text" xsi:type="string">About Us</item>
      </argument>
    </arguments>

당신이 필요합니다 :

    <arguments>
      <argument translate="true" name="text" xsi:type="string">About Us</argument>
    </arguments>

대안

<action>태그를 사용해 볼 수도 있습니다 .

<action method="setText">
      <argument translate="true" name="text" xsi:type="string">About Us</argument>
</action>

div를 직접 추가

다음과 같이 텍스트에 div를 직접 추가 할 수도 있습니다.

<argument translate="true" name="text" xsi:type="string"><![CDATA[<div class="label">About Us</div>]]></argument>

기존 블록 내에 인수를 어떻게 추가 하시겠습니까? 예 : product.info.review 블록은 문자열 유형의 다른 인수로 참조 및 추가 할 수 있습니까?
Devtype

@Devtype 완전히. 당신은 <referenceBlock name="product.info.review">그렇게 할 수 있습니다
Raphael at Digital Pianism

블록을 참조하는 @RaphaelatDigitalPianism은 저에게 효과적이지 않지만 컨테이너는 참조합니다. 뭔가 빠졌습니까?
Devtype

@Devtype no는 블록과 컨테이너 모두에서 작동합니다. 새 질문을 만들고 문제를 자세하게 설명
해주십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.