Как отобразить товары по специальной цене в категории Распродажа
Как отображать товары по специальной цене в категории распродажи по умолчанию
Не нравится выбирать товары при создании категорий или выбирать категорию при добавлении товаров.
1
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