Magento 1.x 从前端获取管理员皮肤 URL 的最佳方式
Magento 1.x Best way to get admin skin URL from frontend
获取当前管理员皮肤主题目录的 URL 路径的最佳方法是什么。
我知道
Mage::getModel('core/design_package')->getSkinUrl();
其中return前端皮肤主题目录URL。是否有等效的 Adminhtml?
非常感谢
这是获得安全皮肤的最佳方式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
可能无法在所有 contexts/cases 中工作所以我建议使用 Mage::getDesign()
以避免出现问题。
PHP 5.3 在某些情况下使用 $this
有一些问题。
您也应该能够始终如一地使用 Mage::getSingleton('core/design_package');
。
Magento 识别出您从哪个 'area' 调用 getDesign,所以...
要调用 adminhtml 或 frontend 区域并获取它们的皮肤 url,请使用:
$oDesign = Mage::getDesign()->setArea( 'adminhtml' );
$oDesign = Mage::getDesign()->setArea( 'frontend' );
var_dump( $oDesign );
$sUrl = $oDesign->getSkinUrl('images/image.gif');
var_dump( $sUrl );
管理员皮肤url,您可以使用:
<?php echo Mage::getDesign()->getSkinBaseUrl(array('_area'=>'adminhtml')) ?>
这个方法可以在app/code/core/Mage/Core/Model/Design/Package.php
中找到。
如果你想要某些 package/theme.
的 url,你也可以通过数组传递其他参数,如 _package
和 _theme
获取当前管理员皮肤主题目录的 URL 路径的最佳方法是什么。
我知道
Mage::getModel('core/design_package')->getSkinUrl();
其中return前端皮肤主题目录URL。是否有等效的 Adminhtml?
非常感谢
这是获得安全皮肤的最佳方式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
可能无法在所有 contexts/cases 中工作所以我建议使用 Mage::getDesign()
以避免出现问题。
PHP 5.3 在某些情况下使用 $this
有一些问题。
您也应该能够始终如一地使用 Mage::getSingleton('core/design_package');
。
Magento 识别出您从哪个 'area' 调用 getDesign,所以...
要调用 adminhtml 或 frontend 区域并获取它们的皮肤 url,请使用:
$oDesign = Mage::getDesign()->setArea( 'adminhtml' );
$oDesign = Mage::getDesign()->setArea( 'frontend' );
var_dump( $oDesign );
$sUrl = $oDesign->getSkinUrl('images/image.gif');
var_dump( $sUrl );
管理员皮肤url,您可以使用:
<?php echo Mage::getDesign()->getSkinBaseUrl(array('_area'=>'adminhtml')) ?>
这个方法可以在app/code/core/Mage/Core/Model/Design/Package.php
中找到。
如果你想要某些 package/theme.
的 url,你也可以通过数组传递其他参数,如_package
和 _theme