2016-03-06 42 views

回答

3

有關管理皮膚網址,您可以使用:

<?php echo Mage::getDesign()->getSkinBaseUrl(array('_area'=>'adminhtml')) ?> 

此方法可在中找到。

如果你想要某個包/主題的url,你也可以通過如_package_theme這樣的數組傳遞其他參數。

+1

好的一個兄弟,好的,所以你可以傳遞一個參數,這太棒了! –

2

這是獲得一個安全的皮膚網址的最佳方式:

$this->getSkinUrl('images/imagename.gif', array('_secure'=>true)); 

爲了得到一個不安全的皮膚網址:

$this->getSkinUrl('images/imagename.jpg'); 
+0

對不起兄弟,我正在從前端尋找管理員的皮膚URL。如果我從前端使用$這肯定會得到一個前端URL? –

1

核心的Magento使用這個核心代碼:

Mage::getDesign()->getSkinUrl('images/image.gif'); 

的呼叫:

public static function getDesign() 
{ 
    return self::getSingleton('core/design_package'); 
} 

他們都只是$this等同可能無法在所有上下文/情況下工作,所以我會建議使用Mage::getDesign(),以避免問題。

PHP 5.3在某些情況下使用$this有一些問題。

您應該也可以始終如一地使用Mage::getSingleton('core/design_package');

Magento的標識了 '區域' 你從這麼叫getDesign ...

爲了喚起adminhtml前端地區,並得到他們的皮膚URL使用:

$oDesign = Mage::getDesign()->setArea('adminhtml'); 
$oDesign = Mage::getDesign()->setArea('frontend'); 
var_dump($oDesign); 
$sUrl = $oDesign->getSkinUrl('images/image.gif'); 
var_dump($sUrl); 
+0

非常感謝您的回答。如果你在前端(例如在調用佈局文件時)並希望訪問後端URL?使用上面的代碼肯定會返回前端路徑嗎? –

+0

我更新瞭如何從前端調用管理員的答案,反之亦然 –

相關問題