Как программно обновить позицию (номер) продукта в определенной категории


Я хотел бы установить для всех номеров позиций в одной конкретной категории значение 100 вместо 0 (по умолчанию). Я хотел бы сделать это один раз - не для будущих продуктов в этой категории.

Thx вперед!

Author: Stefan Gregori, 2013-11-25

1 answers

Попробуйте это:

Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
$categoryId = 22; //replace with your category id
$newPosition = 100; //replace with your new position
$category = Mage::getModel('catalog/category')->setStoreId(Mage_Core_Model_App::ADMIN_STORE_ID)->load($categoryId);
$products = $category->getProductsPosition();
foreach ($products as $id=>$value){
    $products[$id] = $newPosition;
}
$category->setPostedProducts($products);
$category->save();
 14
Author: Marius, 2013-11-25 13:34:34