2013-09-26 2 views
0

В настоящее время я использую сообщество magento. У меня есть несколько сгруппированных продуктов. Например, у меня есть одеколон Polo Green, который является сгруппированным продуктом. Продукты в этой группе составляют 2,5 унции; 3.4oz, 6.7oz и т. Д.категория отображения в сгруппированном виде детали продукта magento

В то же время, я хотел бы добавить категорию «После бритья», которая будет отображать после бритья.

Как добавить категорию в сгруппированный продукт?

Заранее спасибо.

+0

Вы имеете в виду, что вы должны назначить одну категорию всем дочерним продуктам, которые вы назначаете в групповом продукте. – liyakat

ответ

0

Try с ниже настраиваемого модуля

1) config.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) и т.д./модули/NameSpace_YourModulename. xml

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

Надеется, что это поможет ..

+0

Большое спасибо санджаю. Позвольте мне посмотреть, правильно ли я это понял ... – user2816881

0

До сих пор я следующий, пожалуйста, поправьте, если я ошибаюсь

Первый раздел идет в конфиг на ...

приложение> Код> местное > Myfile> Pt003 (MyFile)> и т.д. = config.xml

Второй идет в ...

приложение> код> магу> настойчивый> модель = Observer.php

Третий данный ...

Спасибо за ответ.

Смежные вопросы