0

我目前正在使用 magento 社区。我有几个分组产品。例如,我有古龙水 Polo Green,它是一个分组产品。该组中的产品是 2.5 盎司;3.4 盎司、6.7 盎司等

同时,我想添加类别“须后”,它将显示须后产品。

如何在分组产品中添加类别?

提前致谢。

4

2 回答 2

0

尝试使用以下自定义模块

1) 配置.xml

<?xml version="1.0"?>
<config>
    <modules>
        <NameSpace_YourModulename>
            <version>0.1.0</version>
        </NameSpace_YourModulename>
    </modules>
    <adminhtml>
        <events>
            <catalog_product_save_after>
                <observers>
                    <NameSpace_YourModulename_Product_Update>
                        <type>singleton</type>
                        <class>NameSpace_YourModulename_Model_Observer</class>
                        <method>customApplyCategoryToGrouped</method>
                    </NameSpace_YourModulename_Product_Update>
                </observers>
            </catalog_product_save_after>
        </events>
    </adminhtml>
   <global>
    <models>
        <NameSpace_YourModulename>
            <class>NameSpace_YourModulename_Model</class>
        </NameSpace_YourModulename>
    </models>
   </global>
</config>

2) 模型内的 Observer.php 文件

<?php
  class NameSpace_YourModulename_Model_Observer
{   
    public function customApplyCategoryToGrouped(Varien_Event_Observer $observer)
    {
        $currentProduct = Mage::getModel('catalog/product')->load($observer->getProduct()->getId());
        $categoryIds = $currentProduct->getCategoryIds();
        if($currentProduct->getTypeId() == 'grouped')
        $simpleProducts = $currentProduct->getTypeInstance(true)->getAssociatedProducts($currentProduct);
        if(count($simpleProducts) > 0)        
         foreach ($simpleProducts as $item) {
             $_simplePro = Mage::getModel('catalog/product')->load($item->getId());
             $_simplePro->setCategoryIds($categoryIds);
             $_simplePro->save();
             unset($_simplePro);
           }
    }
}

3 ) etc/modules/NameSpace_YourModulename.xml

<?xml version="1.0"?>
<config>
    <modules>
        <NameSpace_YourModulename>
            <active>true</active>
            <codePool>local</codePool>
        </NameSpace_YourModulename>
    </modules>
</config>

希望对你有帮助..

于 2013-09-27T06:19:55.090 回答
0

到目前为止,我有以下内容,如果我错了,请纠正

第一部分转到配置...

app>code>local>Myfile>Pt003(myfile)>etc = config.xml

第二个去...

app>code>mage>persistent>model = Observer.php

第三个是给定的...

谢谢回复。

于 2013-09-28T02:31:37.987 回答