Magento 1.x从前端获取管理员皮肤URL的最佳方法

时间:2016-03-06 11:35:20

标签: php magento magento-1.9 adminhtml

获取当前管理员皮肤主题目录的URL路径的最佳方法是什么。

我知道

Mage::getModel('core/design_package')->getSkinUrl();

将返回前端外观主题目录的URL。是否有Adminhtml等价物?

非常感谢

3 个答案:

答案 0 :(得分:3)

对于管理员皮肤网址,您可以使用:

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

此方法可在app/code/core/Mage/Core/Model/Design/Package.php

中找到

如果你想要某个包/主题的网址,你也可以通过像_package_theme这样的数组传递其他参数。

答案 1 :(得分:2)

这是获取安全皮肤网址的最佳方式:

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

获取不安全的皮肤URL:

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

答案 2 :(得分:2)

Core Magento在核心代码中使用它:

animalist.Sort(); 

哪个电话:

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

它们都是等效的,但public static function getDesign() { return self::getSingleton('core/design_package'); } 可能无法在所有上下文/案例中使用,因此我建议使用$this以避免出现问题。

PHP 5.3在某些情况下使用Mage::getDesign()会遇到一些问题。

您也应该能够始终如一地使用$this

Magento确定你从哪个'区域'调用getDesign ......

要唤起 adminhtml 前端区域并让他们的皮肤网址使用:

Mage::getSingleton('core/design_package');