Mage :: getBaseUrl () vs Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB)


26

Gibt es einen Grund, Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)anstatt zu verwenden Mage::getBaseUrl()? Ich habe beide im Einsatz gesehen, und beide geben dasselbe zurück. Ist der längere überflüssig? Es werden auch 2 Funktionsaufrufe verwendet.

Außerdem sehe ich, dass Mage_Core_Model_Store::URL_TYPE_WEBeinfach die Zeichenfolge "web" zurückgegeben wird. Was ist der Sinn davon?

Antworten:


40

Schauen Sie sich zuerst getBaseUrl()anMage.php

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

Mit einem einfachen Wort können wir sagen:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)wies Dein Magento Site Urlaus this url Magento is running it System.

Und mit anderen Worten, das können wir sagen 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):

Wert Eingestellt um : Von Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

Mage :: getBaseUrl ():

Wert Eingestellt um : Von Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

Hauptunterschied zeigt:

Jedes Mal , wenn wir ermöglichen werden Use Web Server Rewrites = novon admin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) Geben Sie den Wert von http://youdomain/

aber Mage::getBaseUrl()gib einen Wert an http://youdomain/index.php/, der tatsächlich den Wert von gibt Mage_Core_Model_Store::URL_TYPE_LINK

wenn du hit http://youdomain/das rufst Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url Aber der times you can see all pagelink von dir site is starting with http://youdomain/index.php/ das heißt es genommenMage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

Beispiel:

Wenn Sie einen Ordner erstellt haben und amit at Magento root dir and there you have put a file test.jsdiese Datei bei Magento aufrufen möchten, können Sie diesen Code verwenden

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

und es gibt dann url

www.yourdomain/amit/test.js

Wenn du nur Mage::getBaseUrl()die gibst www.yourdomain/index.php/amit/test.js, bedeutet das, dass auf test.js nicht zugegriffen werden kann (wenn rewite deaktiviert ist)

Sie haben jedoch einen neuen Controller und eine neue Aktion erstellt, die Sie verwenden können

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

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

oder give http://yourdomain/yourmodulerouter/yourcontroller/youraction(beim Umschreiben enable)


Funktioniert es also Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)besser, wenn wir die Umschreibungen aktiviert haben?
— Buttle Butkus

no.Mage :: getBaseUrl (): wird immer für magento pageliks verwendet
— Amit Bera

Danke fürs Helfen. Aber du hast gesagt, das Mage::getBaseUrl()gibt dir einen Link, der index.phpdrin ist. Warum sollte ich diese extra index.php haben wollen, wenn ich sie nicht brauche?
— Buttle Butkus

Wenn ich alle Parameter auf Funktion getBaseURL nicht senden () , dann schicken Sie es , wenn params als $ type = Mage_Core_Model_Store :: URL_TYPE_LINK, sichern $ = null)
— Amit Bera

Bitte überprüfen Sie diese magento Mage.php
— Amit Bera
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.