Программное обновление продукта позиции для одной позиции [дубликат]
Потому что я пока не могу ответить на этот вопрос: Как программно обновить позицию (номер) продукта в определенной категории из-за моей репутации. Настоящим новый вопрос об обновлениях для позиции одной категории.
Как бы вы обновляли продукты только в этой категории с помощью положение занавеса, например положение 0. Таким образом, только продукты с позицией 0 изменятся на новый номер, а продукты с позицией 10 сохранят там позицию.
Надеюсь, кто-нибудь сможет помочь.
1
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){
if ($value == 2) {//change position only if `$value` 2
$products[$id] = $newPosition;
}
}
$category->setPostedProducts($products);
$category->save();
2
Author: Marius, 2015-02-19 11:58:32