为了加载图像,我想调用我的 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/