Magento - 获取皮肤 URL

标签 magento skin

为了加载图像,我想调用我的 Magento 商店皮肤的 URL。我读过你可以使用 <?php echo $this->getSkinUrl('images/ sampleimage.gif', array('_secure'=>true)) ?> ,但我通过使用它得到了“调用未定义的方法”。我试过寻找 Mage::getModel此方法的版本,但我找不到它。

我确实找到了 Alan Storm 的文章,它帮助我找到了大部分内容:http://alanstorm.com/magento_base_directories .艾伦说我可以使用 Mage::getBaseDir(‘skin’) ,我找到了 Mage::getSingleton('core/design_package')->getPackageName() .我找不到获取皮肤目录最后一部分的方法。如果我现在的皮肤是/skin/frontend/base/default/到目前为止,我已经知道了 /skin/frontend/base/ ,我只需要能够让 Magento 给我最后一个,/default/ , 目录的一部分。

我希望我在这里咆哮错误的树并且有一个很好的 Mage::getModel 方法我可以调用,比如 $this->getSkinUrl .你能帮忙吗?

最佳答案

你的想法完全正确,模型是 Mage_Core_Model_Design_Package

所以这就是诀窍:

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

我确实是这样发现的: 我知道我(或者在这种情况下是您)正在寻找的功能,所以我只是尝试获取文件所在的位置:

grep -Rni 'function getSkinUrl' .
./app/code/core/Mage/Core/Model/Design/Package.php:482:    public function getSkinUrl($file = null, array $params = array())

太好了,现在我只需要将文件转换成它的句柄,这样 Mage/Core/Model/Design/Package 就变成了 core/design_package

正如在评论中的一些核心查找过程中发现的,另一种方法是简单地使用:

Mage::getDesign()->getSkinUrl()

关于Magento - 获取皮肤 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28216838/

相关文章:

c++ - 如何以编程方式显示Windows系统(标题栏)菜单

database - 如何修复我的 Magento 安装中的 unsecure_base_url?

java - Android studio - 如何在应用程序主题中使用三星的 TouchWiz 皮肤?

php - Magento Checkout 卡在账单信息后

jquery - 页面加载完成后首次打开时,Colorbox 弹出窗口未完全加载

magento - getGalleryImages 在 Magento 主页中返回 NULL

css - StyleClass 被忽略

javascript - 暂停函数执行,直到另一个函数返回

magento - 如何获取 super 属性的值?

android - 如何在 Android 应用程序中自定义顶部状态栏?