獲取當前管理員皮膚主題目錄的URL路徑的最佳方式是什麼?Magento 1.x從前端獲取管理員皮膚URL的最佳方式
我知道
Mage::getModel('core/design_package')->getSkinUrl();
將返回前端皮膚主題目錄的URL。是否有一個Adminhtml等價物?
非常感謝
獲取當前管理員皮膚主題目錄的URL路徑的最佳方式是什麼?Magento 1.x從前端獲取管理員皮膚URL的最佳方式
我知道
Mage::getModel('core/design_package')->getSkinUrl();
將返回前端皮膚主題目錄的URL。是否有一個Adminhtml等價物?
非常感謝
有關管理皮膚網址,您可以使用:
<?php echo Mage::getDesign()->getSkinBaseUrl(array('_area'=>'adminhtml')) ?>
此方法可在中找到。
如果你想要某個包/主題的url,你也可以通過如_package
和_theme
這樣的數組傳遞其他參數。
這是獲得一個安全的皮膚網址的最佳方式:
$this->getSkinUrl('images/imagename.gif', array('_secure'=>true));
爲了得到一個不安全的皮膚網址:
$this->getSkinUrl('images/imagename.jpg');
對不起兄弟,我正在從前端尋找管理員的皮膚URL。如果我從前端使用$這肯定會得到一個前端URL? –
核心的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);
非常感謝您的回答。如果你在前端(例如在調用佈局文件時)並希望訪問後端URL?使用上面的代碼肯定會返回前端路徑嗎? –
我更新瞭如何從前端調用管理員的答案,反之亦然 –
好的一個兄弟,好的,所以你可以傳遞一個參數,這太棒了! –