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.