উত্তর:
ম্যাজেন্টো 2 এ।
আপনি যদি বেস url পেতে চান তবে আপনি নীচের কোডটি চেষ্টা করতে পারেন:
/** * @var \Magento\Store\Model\StoreManagerInterface $this->_storeManager */ $this->_storeManager->getStore()->getBaseUrl();
যেখানে $this->_storeManager
উদাহরণ\Magento\Store\Model\StoreManagerInterface
এই উপরের কোডটি আপনাকে ফলাফল দেবে
http://www.example.com ( যদি সিও পুনর্লিখন সক্ষম হয় )
এবং http://www.example.com/index.php ( যদি সিও পুনর্লিখন সক্ষম না করা হয় )
আপনি যদি বেস URL চান না index.php
$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB)
বিস্তারিত দেখুন magento2 get base url and media url and static url
অবজেক্ট ম্যানেজার ব্যবহার করে
বেস ইউরাল:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $storeManager->getStore()->getBaseUrl();
Index.php ছাড়াই বেস url Ur
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB);
মিডিয়া বেস ইউআরএল পাওয়ার জন্য:
$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
লিঙ্ক ইউআরএল পাওয়ার জন্য:
$this->_storeManager->getStore() ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_LINK);
পাওয়ার জন্য $this->_storeManager
আপনার ইনজেকশন কল করা উচিত\Magento\Store\Model\StoreManagerInterface $storeManager
এ __construct( )
সময়ে ফাংশন ব্লক বর্গ
যেমন :
public $_storeManager; public function __construct( \Magento\Store\Model\StoreManagerInterface $storeManager, ..... ) { ... $this->_storeManager=$storeManager; }
এছাড়াও, আপনি পেতে পারেন ভিত্তি URL সরাসরি এ phtml
সরাসরি কল ব্যবহার object Manager
।
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB);
দ্রষ্টব্য: Directly call of object manager is not good idea
। আপনি যদি পিটিএইচটিএমএলে বেস ইউআরএলটি চান তবে StoreManagerInterface
ব্লকে ইনজেকশন দিন
কেবলমাত্র এই আদেশটি ব্যবহার করুন আপনার সাথে বর্ধিত একটি বর্গ ব্যবহার করছেন \Magento\Framework\View\Element\Template
।
$this->getBaseUrl()
যদি তা না হয় তবে এটি ব্যবহার করুন:
$this->_storeManager->getStore()->getBaseUrl()
বা যদি আপনি এটি কোনও পিএইচটিএমএল টেম্পলেট ব্যবহার করে থাকেন:
$block->getBaseUrl()
\Magento\Framework\View\Element\Template
। তবে ওপি-র প্রশ্নে তিনি বর্তমানে কোথা থেকে কোডিং করছেন সে বিষয়ে কোনও উল্লেখ করা হয়নি। এই ধরনের মডেল, সাহায্যকারী, কন্ট্রোলার, ইত্যাদি
ম্যাগনেটো 2 এ: এইচটিএমএল ফাইলটিতে url লিঙ্কটি পাওয়ার উপায়:
echo $this->getUrl('about-us')
আমি আশা করি এটি আপনার পক্ষে কাজ করবে
আপনি যদি কেবলমাত্র নিজের ম্যাজেন্টো ইনস্টলের রুট ডিরেক্টরি থেকে কোনও URL পেতে চান তবে আপনি কেবল getUrl ব্যবহার করতে পারেন। এটি অ্যাবস্ট্রাকব্লক শ্রেণীর উত্তরাধিকার সূত্রে প্রাপ্ত (ম্যাজেন্টো me ফ্রেমওয়ার্ক \ দেখুন \ উপাদান \ অ্যাবস্ট্রাকব্লক) যাতে আপনি এটিকে আপনার যে কোনও ব্লক ব্যবহার করতে সক্ষম হন। এখানে একটি উদাহরণ
$this->getUrl('pub/media/video/', ['_secure' => $this->getRequest()->isSecure()]).$fileName
প্রথম প্যারামিটারটি আপনি যে পথটি চান সেটি হ'ল এবং ব্যবহারকারী যদি https- তে ব্রাউজ করে তবে দ্বিতীয়টি _ সুরক্ষার বিকল্পটি সেট করে। আপনি getUrl কলটিতে একটি নির্দিষ্ট ফাইলের নাম সংযুক্ত করে পাথে যুক্ত করতে পারেন বা এটি প্রথম প্যারামিটারে যুক্ত করতে পারেন। পাথটি আপনার ম্যাজেন্টো ইনস্টলের মূল ডিরেক্টরি সম্পর্কিত।
ইনজেক্ট স্টোর ম্যানেজার এবং কেবল বেস url পান
public $_storeManager;
public function __construct(
\Magento\Store\Model\StoreManagerInterface $storeManager,
.....
) {
...
$this->_storeManager=$storeManager;
}
$this->_storeManager->getStore()->getBaseUrl();
দ্রষ্টব্য: অবজেক্ট ম্যানেজারটি সর্বদা ইনজেকশন তৈরি করবেন না
ওয়েল যদি এটি ম্যাজেন্টো 2.0.0 হয়। সিই স্থিতিশীল সংস্করণ এবং যে কোনও "প্রসঙ্গ" ধরণের অবজেক্টটি ইতিমধ্যে ব্লক ক্লাসে লোড করা আছে Magento\Backend\Block\Widget\Context
তারপরে কেবল getStoreManager()->getStore()->getBaseUrl()
নীচের মত ফাংশন কল করুন :
$context->getStoreManager()->getStore()->getBaseUrl()
কনস্ট্রাক্টরের ভিতরেও আপনি \Magento\Framework\UrlInterface::URL_TYPE_MEDIA
এই getBaseUrl()
ফাংশনটির মতো যুক্তিগুলি পাস করতে পারেন ।
আশাকরি এটা সাহায্য করবে.
আপনার ম্যাজেন্টো মূলের মধ্যে টেস্ট.এফপি ফাইল তৈরি করুন।
use Magento\Framework\App\Bootstrap;
include('app/bootstrap.php');
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$storeManager = $objectManager->get('Magento\Store\Model\StoreManagerInterface');
$baseUrl= $storeManager->getStore()->getBaseUrl();
আপনার ব্লক ক্লাস ফাইলটিতে নিম্নলিখিত ফাংশন যুক্ত করুন:
public function getImageUrl($link_url = '')
{
if(!empty($link_url))
{
$media_url = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
return $media_url.'/'.$link_url;
}
else
{
return '#';
}
}
এবং নিম্নলিখিতটি সহ আপনার .phtml টেম্পলেট ফাইল থেকে এটি কল করুন:
$block->getImageUrl('<relative image path>')
আপনি এটি ব্যবহার করে ম্যাজেন্টো 2 বেস url পেতে পারেন:
$this->_storeManager->getStore()->getBaseUrl()
ম্যাজেন্টো 2 এ।
আপনি যদি বেস url পেতে চান তবে নীচের কোডটি ব্যবহার করতে পারেন:
$this->_storeManager->getStore()->getBaseUrl()
অবজেক্টম্যানেজার ব্যবহার করে আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager>get('\Magento\Store\Model\StoreManagerInterface');
$storeManager->getStore()->getBaseUrl();
এখানে বেস টিউটোরিয়ালটি Magento2 এ বেস url এবং অন্যান্য পাই to http://www.webmull.com/magento-2-getbase-url/
public function getBaseUrl()
{
return $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
}