首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Magento中获取当前主题名称

如何在Magento中获取当前主题名称
EN

Stack Overflow用户
提问于 2012-06-22 19:46:17
回答 5查看 28.6K关注 0票数 9

在magento,我试图获得当前的主题或包的名称,但没有找到任何东西。我使用了getSkinUrl('),但它是返回皮肤路径,而不是包或主题name.please,请告诉我如何获得主题或包的名称。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-22 21:23:43

当前包

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')->getPackageName()

当前主题(前端)

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')->getTheme('frontend')
票数 26
EN

Stack Overflow用户

发布于 2013-10-14 10:09:34

请注意,@Drew Hunter的上述答案并不完全正确。虽然getTheme()是所需的函数调用,但字符串“frontend”不是此方法的可接受参数。此方法唯一允许的值是:

  • locale
  • layout
  • template
  • default
  • skin

也就是说,此函数的正确用法是以下几行之一:

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')->getTheme()
Mage::getSingleton('core/design_package')->getTheme('locale')
Mage::getSingleton('core/design_package')->getTheme('layout')
Mage::getSingleton('core/design_package')->getTheme('template')
Mage::getSingleton('core/design_package')->getTheme('default')
Mage::getSingleton('core/design_package')->getTheme('skin')

如果不能以这种方式使用该方法,将始终默认返回字符串‘’。

意外结果

不正确的使用会产生逻辑错误。举个例子,如果你定义了一个专门针对移动设备的“匹配表达式”。

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')

引用以下类

代码语言:javascript
运行
复制
Mage_Core_Model_Design_Package

通过查看这个类中的'getTheme()‘方法,你会注意到你可以传递这个方法的可能选项,它们是'locale','layout','template','default’和'skin‘。

因此,如果一个特定的商店有“模板”的“匹配表达式”,如下所示

代码语言:javascript
运行
复制
iPhone|iPod|Mobile|mobile > mobile

可能会发生以下情况

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')->getTheme('frontend') RETURNS 'default'
Mage::getSingleton('core/design_package')->getTheme('template') RETURNS 'mobile'
票数 13
EN

Stack Overflow用户

发布于 2013-03-07 23:27:26

因为

代码语言:javascript
运行
复制
Mage::getSingleton('core/design_package')

等同于

代码语言:javascript
运行
复制
Mage::getDesign()

Drew的例子可以缩短为:

代码语言:javascript
运行
复制
Mage::getDesign()->getPackageName()

代码语言:javascript
运行
复制
Mage::getDesign()->getTheme('frontend')
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11155570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档