0
在magento 1.8.1中,如何将子产品重定向到关联的父产品?Magento 1.8将产品子产品重定向到父产品
看来,我发现过去的版本选项不工作。
例如,在搜索时单击儿童产品a将带您到显示所有可用选项的父项。
在magento 1.8.1中,如何将子产品重定向到关联的父产品?Magento 1.8将产品子产品重定向到父产品
看来,我发现过去的版本选项不工作。
例如,在搜索时单击儿童产品a将带您到显示所有可用选项的父项。
我昨天写了一个简单的扩展,就是在1.8中完成的。设立观察员的事件controller_action_predispatch
我的观察者文件看起来像这样
class CommerceExtensions_GroupedProductRedirect_Model_Observer extends Varien_Event_Observer
{
public function redirectProductView($observer)
{
$id = Mage::app()->getRequest()->getParam('id');
$product = Mage::getModel('catalog/product')->load($id);
if($product->getTypeId() == 'simple' && $product->getVisibility() == 1){
$parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
if(!empty($parentIds)){
$parentProduct = Mage::getModel('catalog/product')->load($parentIds[0]);
Mage::app()
->getResponse()
->setRedirect($parentProduct->getProductUrl(), 301)
->sendResponse();
}
}
}
}
这是我在我的config.xml
<controller_action_predispatch_catalog_product_view>
<observers>
<commerceextensions_groupedproductredirect_observer>
<class>CommerceExtensions_GroupedProductRedirect_Model_Observer</class>
<method>redirectProductView</method>
</commerceextensions_groupedproductredirect_observer>
</observers>
</controller_action_predispatch_catalog_product_view>
它只会重定向,如果孩子的产品被设置为单独不可见,并且具有父母分组的产品。这可以很容易地适应与配置或捆绑产品,我只是不使用这些类型在我自己的网站,但只要你可以得到父产品ID,没有问题。
您应该可以将这两个部分添加到您的模块,它将完美工作。我还最终为这些儿童产品的评论页做了一个。它基本上与一些适应性相同的代码。
在您的站点使用本网站时,请删除此部分Mage :: getStoreConfig('groupedproductredirect/active/overall'),因为它只是从我的自定义模块中为该扩展设置主开关。 –
当我将这段代码添加到观察者文件时,我得到:解析错误:语法错误,意外的T_CLASS,期望在107行/home/unicohom/public_html/app/code/core/Mage/Admin/Model/Observer.php中的T_FUNCTION行107 – user3315004
你可能增加了一个额外的}。给我一点时间,我会根据你的需要给你一个经过编辑的答案。 –