Magento 2.1 में मीडिया पथ कैसे प्राप्त करें। मैंने बहुत सारे विकल्प आज़माए लेकिन यह काम नहीं कर रहा है?
मैं छवि को फ्रंट-एंड के अंदर .phtml फ़ाइल में प्रदर्शित करना चाहता हूं।
Magento 2.1 में मीडिया पथ कैसे प्राप्त करें। मैंने बहुत सारे विकल्प आज़माए लेकिन यह काम नहीं कर रहा है?
मैं छवि को फ्रंट-एंड के अंदर .phtml फ़ाइल में प्रदर्शित करना चाहता हूं।
जवाबों:
आप $ ऑब्जेक्ट विधि द्वारा मीडिया पथ प्राप्त कर सकते हैं
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
कारखानों विधि
<?php
namespace Namespace\Modulename\Block;
use Magento\Framework\ObjectManagerInterface;
class Banners extends Template
{
protected $objectManager;
public function __construct(
.......
ObjectManagerInterface $objectManager
...) {
...........
$this->objectManager = $objectManager;
...............
}
public function getMediaUrl(){
$media_dir = $this->objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
return $media_dir;
}
}
........
?>
में phtml फ़ाइल
<?php echo $block->getMediaUrl(); ?>
Magento के कोडिंग मानकों के अनुसार ऑब्जेक्ट मैनेजर का उपयोग हतोत्साहित किया जाता है। टेम्प्लेट फ़ाइल में, हम निम्नलिखित कोड का उपयोग करके मीडिया URL प्राप्त कर सकते हैं:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
मैगेंटो की सिफारिश के अनुसार, आपकी वेबसाइट का दस्तावेज़ रूट pub
विकास के दौरान बाहरी निर्देशिका होना चाहिए और pub
उत्पादन के लिए ले जाने के दौरान यह निर्देशिका के अंदर होना चाहिए ।
इसलिए हम pub
टेम्पलेट फ़ाइलों में मीडिया URL प्राप्त करते समय निर्देशिका को हार्ड कोड नहीं कर सकते । उपरोक्त कोड आपको अपने दस्तावेज़ रूट स्थान के बावजूद सही मीडिया URL देगा।
ObjectManager द्वारा मीडिया पथ प्राप्त करें
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
डिपेंडेंसी इंजेक्शन द्वारा मीडिया पथ प्राप्त करें
protected $_storeManager;
public function __construct(
...
\Magento\Store\Model\StoreManagerInterface $storeManager,
...
) {
...
$this->_storeManager = $storeManager;
...
}
public function getMediaUrl()
{
$mediaUrl = $this->_storeManager
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
return $mediaUrl;
}
अब phtmlgetMediaUrl()
में फ़ंक्शन को कॉल करें
<?php echo $block->getMediaUrl(); ?>
इस $ -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ फ्रेमवर्क \ UrlInterface :: URL_TYPE_MEDIA);
कृपया इस कोड की जाँच करें। यह आपको मीडिया का रास्ता देगा।