Как отобразить товары по специальной цене в категории Распродажа


Как отображать товары по специальной цене в категории распродажи по умолчанию

Не нравится выбирать товары при создании категорий или выбирать категорию при добавлении товаров.

Author: Marius, 2013-07-03

1 answers

Мы можем сделать это с помощью события > наблюдатель. Используя событие catalog_product_prepare_save администратора, мы можем сделать это возможным.

           <adminhtml>
             <events>
                <catalog_product_prepare_save>
                    <observers>
                        <Modulename>
                            <type>model</type>
                            <class>Modulename/observer</class>
                            <method>onProductPrepareSave</method> 
                        </Modulename>
                    </observers>
                </catalog_product_prepare_save>
           </events>    
        </adminhtml>

Используйте приведенную ниже функцию в вашем модуле observer

class MyCompany_Modulename_Model_Adminhtml_Observer
{
  /**
    * Assign category 'sale' when product having sale price
    * 
    * @param Varien_Event_Observer $observer
    */
    public function onProductPrepareSave(Varien_Event_Observer $observer)
    {
        $product = $observer->getEvent()->getProduct();     
        $request = $observer->getEvent()->getRequest();     
        $postData = $request->getPost();        
        $categoryIds = array();
        $categoryIds = $product->getCategoryIds();
        if(isset($postData['product']['special_price'])) {
            if(!in_array('ID of Sale Cat',$categoryIds)) {
                $saleCatId = array('ID of Sale Cat');
                $updateCatIds = array_merge($categoryIds,$saleCatId);
                $product->setCategoryIds($updateCatIds);
            }
        }

    }
}

Замените "Имя модуля" на ваш модуль. Измените "Идентификатор кота-продавца" на свой идентификатор категории "Продажа".

Я надеюсь, что приведенный выше код поможет вам.

 2
Author: Bijal Bhavsar, 2013-07-08 05:42:57