[英]Magento 1.x Best way to get admin skin URL from frontend
獲取當前管理皮膚主題目錄的URL路徑的最佳方法是什么。
我知道
Mage::getModel('core/design_package')->getSkinUrl();
它將返回前端皮膚主題目錄的URL。 是否有Adminhtml等效項?
非常感謝
對於管理員皮膚網址,您可以使用:
<?php echo Mage::getDesign()->getSkinBaseUrl(array('_area'=>'adminhtml')) ?>
可以在app/code/core/Mage/Core/Model/Design/Package.php
找到此方法。
如果您想要某些軟件包/主題的URL,也可以通過_package
和_theme
類的數組傳遞其他參數。
這是獲取安全外觀URL的最佳方法:
$this->getSkinUrl('images/imagename.gif', array('_secure'=>true));
獲取不安全的皮膚URL:
$this->getSkinUrl('images/imagename.jpg');
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 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.