我正在使用Magento 1.9.x,并尝试更改产品的默认排名。
例如,当我们通过产品页面将产品分配到类别时,我需要将其设置为999位
我更改了 catalog_category_product 表
的默认 position 字段值但没有任何改变。
我更改了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);
}
但仅在通过类别页面将产品添加到类别时有效。
请大家知道一个解决方案,谢谢
答案 0 :(得分:0)
在保存产品后要应用更改时,您可能会看到“ catalog_product_save_after”事件。在方法主体中,您可以通过自定义sql查询简单地设置所需的位置。
PS。始终考虑使用事件观察器或本地类重写,而不是编辑核心。