【问题标题】:Fishpig_Wordpress Magento extension. Theme a custom categoryFishpig_Wordpress Magento 扩展。主题自定义类别
【发布时间】:2014-01-10 18:01:31
【问题描述】:
我安装了一个名为 Fishpig 的 magento 插件。它本质上是通过 magento 运行 wordpress,允许在主网站上使用两者。 WP 安装用于博客,我通过根据需要更改 magento 文件为它设置了整个初始主题。如果我在与网站代表相关的某个类别下查看,我正在寻找的是一种更改主题的方法。
如果我要选择类别,有没有办法设置不同的模板?我需要在类别 WP 布局文件中添加 if 语句吗?
【问题讨论】:
标签:
php
wordpress
magento
fishpig
【解决方案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;
您需要修改代码以设置正确的包/主题(下面的代码启用默认包和默认主题)以匹配您要设置的包/主题。