0

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

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

4

1 回答 1

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;

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

于 2014-01-10T10:01:31.933 回答