Mage :: getBaseUrl()vs 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単に「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)Site UrlからあなたのMagento を示しましたthis url Magento is running it System

そして他の言葉、私達はそれを言うことができる Mage::getBaseUrl() give the url which is linking your magento internal page urls That MVC page

Mage :: getBaseUrl(Mage_Core_Model_Store :: URL_TYPE_WEB):

値セット:から Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

Mage :: 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

test.jsにアクセスできないことを意味するMage::getBaseUrl()u のみを 使用する場合www.yourdomain/index.php/amit/test.js(rewite disableの場合)

しかし、新しいコントローラーと新しいアクションを作成したら、使用できます

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)私たちは書き換えがオンになっているときよりよく働くのだろうか?
バトルビュータス14年

no.Mage :: getBaseUrl():は常にmagento pageliksに使用されます
Amit Bera

手伝ってくれてありがとう。しかし、あなたはそれMage::getBaseUrl()があなたにその中にあるリンクを与えると言っindex.phpた。なぜ必要ないのに、余分なindex.phpが必要なのでしょうか?
バトルビュートス14年

送信する場合、関数getBaseUrl()でパラメーターを送信せず、$ type = Mage_Core_Model_Store :: URL_TYPE_LINK、$ secure = null)としてパラメーターを送信します
Amit Bera

嘆願は、このMagentoのMage.phpチェック
アミットベラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.