Копировать:
app/code/core/Mage/Catalog/Block/Product/List.php
в (создать соответствующую папку):
app/code/local/Mage/Catalog/Block/Product/List.php
Найти следующую строку в List.php:
$this->_productCollection = $layer->getProductCollection();
добавить следующую строку ниже:
$this->_productCollection->joinField('category_product', 'catalog/category_product', 'product_id', 'product_id=entity_id', array('store_id'=> Mage::app()->getStore()->getId()), 'left');
// Here is the explain
/*
* @param string $alias 'category_product'
* @param string $table 'catalog/category_product'
* @param string $field 'name'
* @param string $bind 'PK(product_id)=FK(entity_id)'
* @param string|array $cond
* @param string $joinType 'left'
*
* default definition
* joinField($alias, $table, $field, $bind, $cond=null, $joinType='inner')
*
*/
Скопировать
app/code/core/Mage/Catalog/Model/Config.php
в
app/code/local/Mage/Catalog/Model/Config.php
Найти следующую строкув Config.php:
'position' => Mage::helper('catalog')->__('Position')
Заменить на:
$options = array(
'position' => Mage::helper('catalog')->__('Position'),
'product_id' => Mage::helper('catalog')->__('Product ID')
);
PS: я пишу эту статью из дома, которая не установлена на моей машине Magento, поэтому я не сделалне тест, но структура в порядке.Если вы столкнулись с какой-либо проблемой, убедитесь, что имя поля и таблицы.