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

有什么建议?

Answers:


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

@RaphaelatDigitalPianism引用一个块对我不起作用,另一方面,引用一个容器却起作用。我错过了什么!
Devtype

@Devtype no不能同时适用于块和容器。随时提出新问题并详细描述您的问题;)
拉斐尔(Raphael)在Digital Pianism上2016年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.