Magento 2: Cara menambahkan teks dalam wadah melalui XML

11

Saya mencoba membuat satu baris teks sebelum daftar Tautan di catatan kaki. Membuat file templat untuk melakukan ini tampaknya merupakan pemborosan sumber daya untuk tugas ini. Seperti yang saya pahami, saya bisa menampilkan teks dengan Magento\Framework\View\Element\Textblok di tata letak.

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>

Sebelumnya tidak menghasilkan apa-apa, dan saya tidak yakin apakah ini tidak didukung, apakah saya hanya melakukan kesalahan, atau jika ada metode lain yang lebih tepat untuk mencapai ini.

Untuk lebih jelas, apa yang saya lihat saat ini adalah:

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

ketika saya ingin melihat:

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

Ada saran?

Jonathan Eltgroth
sumber

Jawaban:

22

Anda perlu menggunakan argumen secara langsung tanpa array.

Dari pada

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

Anda membutuhkan:

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

Alternatif

Anda juga dapat mencoba dengan <action>tag:

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

Menambahkan div secara langsung

Anda juga dapat menambahkan div secara langsung dalam teks dengan yang berikut ini:

<argument translate="true" name="text" xsi:type="string"><![CDATA[<div class="label">About Us</div>]]></argument>
Raphael di Digital Pianism
sumber
Bagaimana Anda menambahkan argumen di dalam blok yang ada misalnya blok product.info.review dapat direferensikan dan ditambahkan dengan argumen lain dari tipe string?
Devtype
@Devtype sepenuhnya. Anda dapat menggunakannya <referenceBlock name="product.info.review">untuk melakukannya
Raphael di Digital Pianism
@RaphaelatDigitalPianism referensi blok tidak bekerja untuk saya, di sisi lain referensi kontainer tidak berfungsi. Apa aku kehilangan sesuatu !!
Devtype
@ Jangan mengetikkan no yang seharusnya berfungsi untuk blok dan kontainer. Jangan ragu untuk membuat pertanyaan baru dan jelaskan masalah Anda secara terperinci;)
Raphael di Digital Pianism
@RaphaelatDigitalPianism magento.stackexchange.com/questions/141891/…
Devtype