Я использую Magento 1.9.x и пытаюсь изменить количество позиций по умолчанию для продуктов.
Например, когда мы назначаем продукт категории через страницу продукта, мне нужно установить его на 999 позиций
Я изменил по умолчанию позиция значение поля catalog_category_product Таблица
Но ничего не изменилось.
Я изменился magento\app\code\core\Mage\Catalog\Model\Resource\Category.php
/**
* Add products to category
*/
if (!empty($insert)) {
$data = array();
foreach ($insert as $productId => $position) {
$data[] = array(
'category_id' => (int)$id,
'product_id' => (int)$productId,
'position' => (int)$position ? (int)$position : 999
);
}
//(int)$position
$adapter->insertMultiple($this->_categoryProductTable, $data);
}
но это действует только при добавлении товаров в категорию через страницу категории.
кто-нибудь знает решение для этого, пожалуйста, спасибо
всякий раз, когда вы хотите применить изменение после сохранения продукта, вы можете наблюдать событие «catalog_product_save_after». В теле метода вы можете просто установить желаемую позицию с помощью пользовательского SQL-запроса.
PS. Всегда рассматривайте возможность использования наблюдателя событий или переписывания локального класса вместо редактирования ядра.
Других решений пока нет …