Magento将产品分配到类别时添加位置999

时间:2018-09-07 16:43:28

标签: php sorting magento magento-1.9 natural-sort

我正在使用Magento 1.9.x,并尝试更改产品的默认排名。

例如,当我们通过产品页面将产品分配到类别时,我需要将其设置为999位

enter image description here

我更改了 catalog_category_product

的默认 position 字段值

enter image description here

但没有任何改变。

我更改了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);
        }

但仅在通过类别页面将产品添加到类别时有效。

请大家知道一个解决方案,谢谢

1 个答案:

答案 0 :(得分:0)

在保存产品后要应用更改时,您可能会看到“ catalog_product_save_after”事件。在方法主体中,您可以通过自定义sql查询简单地设置所需的位置。

PS。始终考虑使用事件观察器或本地类重写,而不是编辑核心。