नॉकआउट HTML टेम्पलेट में त्वचा की छवि पथ कैसे निर्दिष्ट करें?


10

मैं Magento_Paypal/web/template/payment/paypal-express.htmlटेम्पलेट में एक आइकन छवि जोड़ने की कोशिश कर रहा हूं । आइकन में स्थित है web/images। मैं निम्नलिखित कोड के बराबर का उपयोग करना चाहूंगा, जो ईमेल HTML टेम्पलेट में काम करता है, लेकिन यह विशेष टेम्पलेट नहीं:

<img src="{{view url='images/icon-paypal.png'}}">

चूंकि घुंघराले ब्रेस चर इस HTML टेम्पलेट में काम नहीं करते हैं, आप विषय की web/imagesनिर्देशिका में मौजूद छवि का संदर्भ कैसे देते हैं ?

जवाबों:


24

आप कॉल करने की आवश्यकता functionमें jsटेम्पलेट से।

require.toUrl('images/icon-paypal.png');

3
यह वही है जो मैं देख रहा था - स्वीकार किया गया! यहाँ उन दिलचस्पी के लिए अंतिम छवि टैग है: <img data-bind="attr: { src: require.toUrl('')+'images/icon-paypal.png' }" alt="">
शाम

2
क्या यह बेहतर नहीं होगा require.toUrl('images/icon-paypal.png');? मैंने इसे आज़माया नहीं है, मैं बस यह मानकर चल रहा हूँ कि काम करता है।
बेन क्रुक

1
@BenCrook मैं पुष्टि कर सकता हूं कि आपका सुझाव काम करता है।
डैरेन फेल्टन

धन्यवाद @Meogi, अगर कोई और इसकी पुष्टि कर सकता है तो मैं उत्तर को अपडेट करूंगा। मैं भी atm की जाँच करने के लिए Magento 1 पर बहुत व्यस्त हूँ।
बेन क्रुक

1
@BenCrook मैंने जाँच की और पुष्टि कर सकता है कि आपका समाधान काम करता है
राफेल Cz।

3

यदि आप phtml फ़ाइल में सिर्फ एक छवि पथ जोड़ने का प्रयास कर रहे हैं, तो आपको नीचे दिए गए तरीके का पालन करना चाहिए,

<img src="<?php echo $block->getViewFileUrl('images/image.png') ?>">\

नॉकआउट तरीके से ऐसा करने के लिए:

* .Phtml फ़ाइल से विंडो में एक चर जोड़ने का प्रयास करें:

<script>
  window.imgpath = '<?php echo $block->getViewFileUrl('images/image.png') ?>';
  </script>

और उस चर को खिड़की से पढ़ना:

  function someFunction() {
  var imgPath = window.imgpath;
  }

अपना छवि कोड बदलें:

<img alt="" data-bind="attr: { src: someFunction() } "/>

लेकिन उस विंडो पथ को आपको सिर के हिस्से में कॉल करने की आवश्यकता होगी, इसलिए कोए का उपयोग करना बेहतर होगा।
सुनील पटेल

3

phtml में js वैरिएबल बनाएं

<script>
  var imgpath = '<?php echo $block->getViewFileUrl('images/image.png') ?>';
</script>

अब नया js फंक्शन बनाएं

getImagepaypal: function() {
                return window.imgpath;
            }

आप HTML फ़ाइल में

 <img alt="" data-bind="attr: { src: getImagepaypal() } "/>

क्या आप मुझे बता सकते हैं कि कस्टम ओवरराइड में पूरा js और html फाइल कैसे बनाते हैं और xml में कैसे जोड़ें?
सरफराज सिपाई

क्या आप अपने मॉड्यूल में मैग्नेटो डिफ़ॉल्ट js और html को ओवरराइड करना चाहते हैं?
कासर सत्ती

हाँ मैं "Magento_CheckoutAgreements" फ़ाइलों को phtml, js और html से ओवरराइड करना चाहता हूँ।
सरफराज सिपाई


मुझे पता है कि मॉड्यूल कैसे बनाना / ओवरराइड करना है, लेकिन मैं नहीं जानता कि कस्टम विषय ओवरराइड में "js" और "html" को कैसे ओवरराइड किया जाए इसलिए मैं यह जानना चाहता हूं।
सरफराज सिपाई

0

आप इसका उपयोग प्रत्येक मैगनेटो में बिना किसी आवश्यकता के जेएस फाइलों की आवश्यकता कर सकते हैं - इसके विक्रेता / मैगनेटो / मॉड्यूल-थीम / व्यू / फ्रंटेंड / टेम्प्लेट / पेज / जेएस / आवश्यकता_जैसेफिल्म से आते हैं।

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