Как работает функция setPostedProducts()?
Когда товар отнесен к категории, его отношение сохраняется в таблице catalog_category_product
.
Но при поиске setPostedProducts()
это кажется волшебным методом. Итак, как данные сохраняются в таблице catalog_category_product
.
4
2 answers
Как вы и подозревали, setPostedProducts
- это волшебный метод.
Это просто делает $category->setData('posted_product', $products)
.
Набор значений позже извлекается с помощью getPostedProducts
при сохранении категории.
Вот обратный путь.
-
Mage_Catalog_Model_Category::save();
вызовыMage_Catalog_Model_Resource_Category::save
- ...это вызывает
Mage_Catalog_Model_Resource_Category::_afterSave
- ...это вызывает
Mage_Catalog_Model_Resource_Category::_saveCategoryProducts
- , который вызывает
getPostedProducts
и что-то делает с результатами.
Смотрите метод _saveCategoryProducts
, особенно часть, начинающуюся с $products = $category->getPostedProducts();
5
Author: Marius, 2015-06-12 08:39:09
Я думаю, что важно добавить к ответу Мариуса, что $products
- это массив, где ключ - идентификатор продукта (oh, PHP), а значение - позиция продукта в категории.
0
Author: user487772, 2017-03-30 13:50:52