ম্যাজেন্টো ২.১-এ মিডিয়া পাথ কীভাবে পাবেন। আমি প্রচুর বিকল্প চেষ্টা করেছিলাম কিন্তু এটি কাজ করছে না?
আমি .phtml ফাইলের অভ্যন্তরে চিত্রটি সামনে-এন্ডে প্রদর্শন করতে চাই।
ম্যাজেন্টো ২.১-এ মিডিয়া পাথ কীভাবে পাবেন। আমি প্রচুর বিকল্প চেষ্টা করেছিলাম কিন্তু এটি কাজ করছে না?
আমি .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(); ?>
ম্যাজেন্টোর কোডিং মান অনুযায়ী অবজেক্ট ম্যানেজারের ব্যবহার নিরুত্সাহিত করা হয়। একটি টেমপ্লেট ফাইলে, আমরা নিম্নলিখিত কোডটি ব্যবহার করে মিডিয়া URL পেতে পারি:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
ম্যাজেন্টোর সুপারিশ অনুসারে, আপনার ওয়েবসাইটের নথির মূলটি pub
বিকাশের সময় ডিরেক্টরিগুলির বাইরে থাকা উচিত এবং এটি pub
যখন উত্পাদনে স্থানান্তরিত হয় তখন ডিরেক্টরি ভিতরে থাকা উচিত ।
সুতরাং আমরা pub
টেমপ্লেট ফাইলগুলিতে মিডিয়া URL পাওয়ার সময় ডিরেক্টরিটিকে হার্ড কোড করতে পারি না । উপরের কোডটি আপনার নথির মূল অবস্থান নির্বিশেষে আপনাকে সঠিক মিডিয়া URL দেবে।
অবজেক্টম্যানেজারের মাধ্যমে মিডিয়া পাথ পান
$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;
}
এখন ফাংশন কল getMediaUrl()
মধ্যে phtml
<?php echo $block->getMediaUrl(); ?>
এই $ ->: _ storeManager-> getStore () -> getBaseUrl (\ Magento \ ফ্রেমওয়ার্ক \ UrlInterface :: URL_TYPE_MEDIA);
দয়া করে এই কোডটি পরীক্ষা করুন। এটি আপনাকে মিডিয়া পাথ দেবে।