Magento 2: XML के माध्यम से कंटेनर में टेक्स्ट कैसे जोड़ें


11

मैं पाद लेख में एक लिंक सूची से पहले पाठ की एक पंक्ति को प्रस्तुत करने का प्रयास कर रहा हूं। ऐसा करने के लिए टेम्पलेट फ़ाइल बनाना इस कार्य के लिए संसाधनों की बर्बादी लगती है। जैसा कि मैंने इसे समझा, मैं Magento\Framework\View\Element\Textलेआउट में एक ब्लॉक के साथ पाठ को आउटपुट कर सकता था ।

एक्सएमएल

<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 पूरी तरह से। आप ऐसा करने के <referenceBlock name="product.info.review">लिए उपयोग कर सकते हैं
राफेल डिजिटल पियानोवाद

@RaphaelatDigitalPianism एक खंड का उल्लेख मेरे लिए काम नहीं करता है, दूसरी ओर एक कंटेनर का संदर्भ देने से काम नहीं होता है। क्या मैं कुछ भूल रहा हूँ!!
देवउठ

@Devtype नहीं जो ब्लॉक और कंटेनर दोनों के लिए काम करना चाहिए। एक नया प्रश्न बनाने और विवरणों में अपनी समस्या का वर्णन करने के लिए स्वतंत्र महसूस करें;)
डिजिटल पियानोवाद पर राफेल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.