जवाबों:
Magento 2 में।
यदि आप बेस यूआरएल प्राप्त करना चाहते हैं, तो आप नीचे दिए गए कोड की कोशिश कर सकते हैं:
/** * @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
ऑब्जेक्ट मैनेजर का उपयोग करना
बेस Url:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $storeManager->getStore()->getBaseUrl();
Base Url बिना index.php के
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB);
मीडिया बेस url प्राप्त करने के लिए:
$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
लिंक url प्राप्त करने के लिए:
$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; }
इसके अलावा, आप प्राप्त कर सकते हैं आधार यूआरएल सीधे पर 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
। यदि आप phtml पर बेस url चाहते हैं तो StoreManagerInterface
ब्लॉक पर इंजेक्ट करें
बस इस कमांड का उपयोग करें आपके साथ एक वर्ग का उपयोग कर रहे हैं जो फैली हुई है \Magento\Framework\View\Element\Template
।
$this->getBaseUrl()
यदि नहीं, तो यह प्रयोग करें:
$this->_storeManager->getStore()->getBaseUrl()
या यदि आप इसे PHTML टेम्पलेट उपयोग में उपयोग कर रहे हैं:
$block->getBaseUrl()
\Magento\Framework\View\Element\Template
। हालाँकि, ओपी के सवाल का कोई संदर्भ नहीं है कि वह वर्तमान में कहाँ से कोडिंग कर रहा है। जैसे कि मॉडल, हेल्पर, कंट्रोलर आदि
Magneto2 में: यह PHTML फ़ाइल में यूआरएल लिंक प्राप्त करने का तरीका है:
echo $this->getUrl('about-us')
मुझे उम्मीद है कि यह आपके लिए काम करेगा
यदि आप बस अपने Magento इंस्टाल के रूट डायरेक्टरी से URL प्राप्त करना चाहते हैं, तो आप बस getUrl का उपयोग कर सकते हैं। यह AbstractBlock वर्ग (Magento \ फ्रेमवर्क \ View \ Element \ AbstractBlock) से विरासत में मिला है, इसलिए आप इसे अपने किसी भी ब्लॉक का उपयोग करने में सक्षम हैं। यहाँ एक उदाहरण है
$this->getUrl('pub/media/video/', ['_secure' => $this->getRequest()->isSecure()]).$fileName
पहला पैरामीटर वह मार्ग है जो आप चाहते हैं, और दूसरा _secure विकल्प सेट करता है यदि उपयोगकर्ता https पर ब्राउज़ कर रहा है। आप getUrl कॉल पर किसी विशिष्ट फ़ाइलनाम को संक्षिप्त करके पथ में जोड़ सकते हैं या आप इसे पहले पैरामीटर में जोड़ सकते हैं। पथ आपके Magento की स्थापना के रूट डायरेक्टरी के सापेक्ष है।
स्टोर मैनेजर को इंजेक्ट करें और बस आधार यूआरएल प्राप्त करें
public $_storeManager;
public function __construct(
\Magento\Store\Model\StoreManagerInterface $storeManager,
.....
) {
...
$this->_storeManager=$storeManager;
}
$this->_storeManager->getStore()->getBaseUrl();
नोट: ऑब्जेक्ट प्रबंधक हमेशा इंजेक्ट न करें
खैर अगर यह Magento 2.0.0 है। CE स्थिर संस्करण और किसी भी "संदर्भ" प्रकार की वस्तु को पहले से ही ब्लॉक वर्ग में लोड किया गया है जैसे कि नीचे दिए गए फ़ंक्शन को Magento\Backend\Block\Widget\Context
कॉल करें getStoreManager()->getStore()->getBaseUrl()
:
$context->getStoreManager()->getStore()->getBaseUrl()
कंस्ट्रक्टर के अंदर भी आप \Magento\Framework\UrlInterface::URL_TYPE_MEDIA
इस getBaseUrl()
फंक्शन के अंदर जैसे तर्क पास कर सकते हैं ।
उम्मीद है की यह मदद करेगा।
अपने Magento रूट में Test.php फ़ाइल बनाएँ।
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>')
आप इसका उपयोग करके Magento2 Base url प्राप्त कर सकते हैं:
$this->_storeManager->getStore()->getBaseUrl()
Magento 2 में।
यदि आप बेस यूआरएल प्राप्त करना चाहते हैं, तो आप नीचे दिए गए कोड का उपयोग कर सकते हैं:
$this->_storeManager->getStore()->getBaseUrl()
ObjectManager का उपयोग करके, आप निम्न कोड का उपयोग कर सकते हैं
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager>get('\Magento\Store\Model\StoreManagerInterface');
$storeManager->getStore()->getBaseUrl();
यहाँ Magento2 में बेस यूआरएल और अन्य लोगों को प्राप्त करने के लिए विस्तृत ट्यूटोरियल पाया गया है। http://www.webmull.com/magento-2-getbase-url/
public function getBaseUrl()
{
return $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
}