मैं मॉड्यूल टेम्पलेट फ़ाइल में एक छवि प्रदर्शित करना चाहता हूं। जब कोई मेरा मॉड्यूल स्थापित करता है, तो वह उस छवि को देख सकता है। क्या मैं अपने मॉड्यूल निर्देशिका के अंदर अपनी छवियों को संग्रहीत कर सकता हूं या नहीं?
मैं मॉड्यूल टेम्पलेट फ़ाइल में एक छवि प्रदर्शित करना चाहता हूं। जब कोई मेरा मॉड्यूल स्थापित करता है, तो वह उस छवि को देख सकता है। क्या मैं अपने मॉड्यूल निर्देशिका के अंदर अपनी छवियों को संग्रहीत कर सकता हूं या नहीं?
जवाबों:
हां, आप अपने टेम्पलेट के क्षेत्र के आधार पर अपने मॉड्यूल वेब निर्देशिकाओं में छवियां संग्रहीत कर सकते हैं। रास्ता है: विक्रेता / मॉड्यूल / दृश्य / {दृश्यपटल | adminhtml} / वेब / चित्र /
फिर अपनी * .phtml फ़ाइलों में आप छवि प्रदर्शित कर सकते हैं:
<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />
\Magento\Framework\View\Result\PageFactory
अपने कंस्ट्रक्टर में क्लास इंजेक्ट कर सकते हैं $pageFactory
और फिर कॉल $pageFactory->getViewFileUrl()
विधि। जेएस फाइलों के लिए मुझे नहीं पता कि आप इसे कैसे प्राप्त कर सकते हैं।
मुझे बेस -64 पसंद है कि मैं अपने पीएनजी को इनकोड करूं और उन्हें इनलाइन करूं। मैं https://www.base64-image.de का उपयोग करता हूं ।
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ....=">
<script type="text/x-magento-init">
{
<?php /* this defines the target of the widget */ ?>
"#target_id": {
<?php /* this defines the widget */ ?>
"image.widget.name": {
"imagename" : "<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>"
}
}
}
आप अपनी कल्पना "परिभाषित नाम" विकल्प के साथ शुरू करने के लिए मैगेंटो के विजेट इनिशियलाइज़ेशन स्क्रिप्ट का उपयोग करेंगे। यह इनिशियलाइज़ेशन तकनीक आमतौर पर phtml फाइलों में की जाती है। मेरा कोड मानता है कि आपकी छवि विक्रेता / मॉड्यूल / दृश्य / {फ्रंटएंड | adminhtml} / web / images / में है
अधिक जानकारी के लिए, आप magento 2 प्रलेखन देख सकते हैं। http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html