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


26

Kullanmak için bir neden var mı Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)ziyade Mage::getBaseUrl()? İkisini de kullanımda gördüm ve ikisi de aynı şeyi döndürüyor. Uzun olanı gereksiz mi? Ayrıca 2 işlev çağrısı kullanır.

Dahası, bunun Mage_Core_Model_Store::URL_TYPE_WEB'web' dizesini döndürdüğünü görüyorum . Amacı ne?

Yanıtlar:


40

İlk göz getBaseUrl()atMage.php

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

Basit bir deyişle şunu söyleyebiliriz:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)Kişisel Magento belirtilen Site Urldan this url Magento is running it System.

Ve başka bir deyişle, bunu söyleyebiliriz. Mage::getBaseUrl() give the url which is linking your magento internal page urls That MVC page

Büyücü :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB):

Ayarlanan Değer : Kimden Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

Mage :: getBaseUrl ():

Ayarlanan Değer : Kimden Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

Ana fark gösteren:

Ne zaman biz etkinleştirmek edilir Use Web Server Rewrites = nodan admin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) değerini vermek http://youdomain/

ama gerçekte Mage::getBaseUrl()değerini veren değeri http://youdomain/index.php/ver Mage_Core_Model_Store::URL_TYPE_LINK

Ne zaman hit http://youdomain/o çağrıdır Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url Ama bu times you can see all pagesenin link site is starting with http://youdomain/index.php/ olduğunu araçlarının çekildiğiMage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

Örnek:

Bir klasör oluşturduysanız, amit at Magento root dir and there you have put a file test.jsbu dosyayı magento home'da aramak istiyorsanız, bu kodu kullanabilirsiniz.

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

ve sonra url verir

www.yourdomain/amit/test.js

Yalnızca kullanırsanız Mage::getBaseUrl()hangi u vermek www.yourdomain/index.php/amit/test.jsdemek oluyor test.js can erişilemez (zaman rewite devre dışı)

Ancak yeni denetleyici ve yeni eylemler oluşturdunuz.

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

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

veya ver http://yourdomain/yourmodulerouter/yourcontroller/youraction(yeniden yazma etkin olduğunda)


Peki Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB), tekrar yazmaya başladığımızda daha iyi çalışacak mı?
Buttle Butkus

no.Mage :: getBaseUrl (): her zaman magento pageliks için kullanılır
Amit Bera

Yardım için teşekkürler. Ama bunun içinde Mage::getBaseUrl()bir bağlantı olduğunu söyledin index.php. İhtiyacım yoksa neden bu ekstra index.php'yi isteyeyim?
Buttle Butkus

Gönderirseniz getBaseUrl () işlevinde herhangi bir parametre göndermezseniz, $ type = Mage_Core_Model_Store :: URL_TYPE_LINK, $ secure = null)
Amit Bera

bu magento'yu kontrol et Mage.php
Amit Bera
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.