我有一个名为Fishpig的magento安装插件。它基本上通过magento运行wordpress,允许两者在主网站上使用。 WP安装正用于博客,我通过根据需要更改magento文件来为它设置整个初始主题。我正在寻找的是一种改变主题的方法,如果我查看与网站代表相关的某个类别。
如果我要选择类别,有没有办法设置不同的模板?我是否需要将if语句添加到类别WP布局文件中?
答案 0 :(得分:1)
如果您想根据当前的WordPress类别(或任何条件)更改整个主题,您需要收听一个事件,然后以编程方式更改主题。最常用的事件是'controller_action_predispatch'但是如果你只想更改WordPress类别页面的主题,你会更适合使用'controller_action_predispatch_wordpress_post_category_view'。
将事件观察者方法附加到您选择的事件,然后使用以下代码:
$_category = Mage::registry('wordpress_category');
if (!$_category) {
return $this;
}
$_categoryId = (int)$_category->getId();
if ($_categoryId === 1) {
Mage::getDesign()
->setPackageName('default')
->setTheme('default');
}
else if ($_categoryId === 2) {
Mage::getDesign()
->setPackageName('default')
->setTheme('default');
}
return $this;
您需要修改代码以设置正确的包/主题(下面的代码启用默认包和默认主题)以匹配您要设置的包/主题。