【发布时间】:2013-07-13 01:01:42
【问题描述】:
我的包名称是“company”,主题名称是“web”,我还有另一个包名为“system”,其主题名为“component”。
运行时间来自 Block 文件,但我想从 magento2 的前端设置主题和包。
【问题讨论】:
-
所以,把你的名字改成一个更个性化的名字
标签: magento2
我的包名称是“company”,主题名称是“web”,我还有另一个包名为“system”,其主题名为“component”。
运行时间来自 Block 文件,但我想从 magento2 的前端设置主题和包。
【问题讨论】:
标签: magento2
您可以编写下面的代码来设置动作的包和主题:
Mage::getDesign()->setArea(‘frontend’) //Area (frontend|adminhtml)
->setPackageName(‘default’) //Name of Package
->setTheme(‘modern’); // Name of theme
您可以在布局处理程序中编写代码来设置主题:
<reference name=”root”>
<action method=”setTheme”>
<theme>modern</theme>
</action>
</reference>
更改页面布局:
<reference name=”root”>
<action method=”setTemplate”>
<template>page/1column.phtml</template>
</action>
</reference>
希望对你有帮助。
【讨论】:
您可以使用以下代码以编程方式设置主题:
Mage::getDesign()->setArea('frontend') //Area (frontend|adminhtml)
->setPackageName('default') //Name of Package
->setTheme('modern'); // Name of theme
http://roshanlal.in/magento/magento-programmatically-change-theme/#more-193
【讨论】:
如果你想在 magento 运行时设置包和主题,只需使用这个代码 sn-p。
创建一个函数,例如。 changeTheme('主题名称');并根据您的要求运行此功能
在你的 head.phtml 中添加这个函数在 php 启动之后。
function changeTheme($themeName)
{
Mage::getDesign()->setArea('frontend') //Area (frontend|adminhtml)
->setPackageName('default') //Name of Package
->setTheme($themeName); // Name of theme
}
享受:)
【讨论】: