Fishpig_Wordpress Magento扩展。主题一个自定义类别

时间:2014-01-09 23:41:14

标签: php wordpress magento fishpig

我有一个名为Fishpig的magento安装插件。它基本上通过magento运行wordpress,允许两者在主网站上使用。 WP安装正用于博客,我通过根据需要更改magento文件来为它设置整个初始主题。我正在寻找的是一种改变主题的方法,如果我查看与网站代表相关的某个类别。

如果我要选择类别,有没有办法设置不同的模板?我是否需要将if语句添加到类别WP布局文件中?

1 个答案:

答案 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;

您需要修改代码以设置正确的包/主题(下面的代码启用默认包和默认主题)以匹配您要设置的包/主题。