Mage :: getBaseUrl () बनाम Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB)


26

क्या इसके Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)बजाय उपयोग करने का कोई कारण है Mage::getBaseUrl()? मैंने उपयोग में दोनों को देखा है, और वे दोनों एक ही चीज़ लौटाते हैं। क्या अब बेमानी है? यह 2 फ़ंक्शन कॉल का उपयोग करता है, साथ ही साथ।

इसके अलावा, मैं देखता हूं कि Mage_Core_Model_Store::URL_TYPE_WEBकेवल स्ट्रिंग 'वेब' को लौटाता है। इसका क्या मतलब है?

जवाबों:


40

पर सबसे पहले नज़र getBaseUrl()मेंMage.php

 public static function getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
    {
        return self::app()->getStore()->getBaseUrl($type, $secure);
    }

एक सरल शब्द में हम कह सकते हैं:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)आपका Magento संकेत दिया Site Urlसे this url Magento is running it System

और दूसरे शब्द, हम ऐसा कह सकते हैं Mage::getBaseUrl() give the url which is linking your magento internal page urls That MVC page

दाना :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB):

मूल्य पर सेट : से Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

दाना :: getBaseUrl ():

मूल्य पर सेट : से Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

मुख्य अंतर दिखा रहा है:

जब भी हम सक्षम Use Web Server Rewrites = noहोते हैं admin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) का मान दें http://youdomain/

लेकिन Mage::getBaseUrl()मूल्य दें http://youdomain/index.php/जो वास्तव में का मूल्य देते हैं Mage_Core_Model_Store::URL_TYPE_LINK

जब आप hit http://youdomain/कहते हैं कि Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url है, लेकिन times you can see all pageआपके लिंक का site is starting with http://youdomain/index.php/ अर्थ है कि यह लिया गया हैMage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

उदाहरण:

अगर आपने एक फोल्डर बनाया है amit at Magento root dir and there you have put a file test.jsतो आप इस फाइल को magento होम पर कॉल करना चाहते हैं तो आप इस कोड का उपयोग कर सकते हैं

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).'amit/test.js'; ?>

और यह तब url देता है

www.yourdomain/amit/test.js

यदि आप केवल Mage::getBaseUrl()यू का उपयोग करते हैं, जिसका www.yourdomain/index.php/amit/test.jsअर्थ है कि test.js सुलभ नहीं हो सकता है (जब फिर से निष्क्रिय हो)

लेकिन आपने नया कंट्रोलर और नया एक्शन बनाया है तब आप उपयोग कर सकते हैं

Mage::getBaseUrl().'yourmodulerouter/yourcontroller/youraction'

it show  url like `http://yourdomain/index.php/yourmodulerouter/yourcontroller/youraction`

या दे http://yourdomain/yourmodulerouter/yourcontroller/youraction(जब पुनः सक्षम करें)


तो Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)बेहतर होगा जब हम फिर से लिखना चालू करेंगे?
ब्यूटिक बटुक 21

no.Mage :: getBaseUrl (): हमेशा Magento pageliks के लिए उपयोग किया जाता है
अमित बेरा

मदद के लिए धन्यवाद। लेकिन आपने कहा कि Mage::getBaseUrl()इससे आपको एक लिंक मिलती index.phpहै। अगर मुझे इसकी आवश्यकता नहीं है, तो मुझे वह अतिरिक्त सूचकांक क्यों चाहिए।
बुटिक बटुकस

अगर मैं भेजता हूँ, तो फंक्शन पर कोई भी पैरामीटर getBaseUrl () न भेजें, तो अगर $ par = Mage_Core_Model_Store :: URL_TYPE_LINK, $ safe = null) के रूप में params भेजा जाए तो
अमित बेरा

दलीलों इस Magento Mage.php जाँच
अमित बेरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.