Pregunta

Con respecto a la respuesta de Vinai aquí https://magento.stackexchange.com/a/5775/199 Tengo una pregunta de seguimiento:

¿Cómo puedo obtener la matriz ProductPosition cuando uso tablas de categoría plana?

En la configuración de mi sistema, uso estas configuraciones:

Catalog -> Frontend -> Use Flat Catalog Category = yes
Catalog -> Frontend -> Use Flat Catalog Product  = yes

Cuando uso getProductsPosition() Recibo lo siguiente:

Fatal error: Call to undefined method  Mage_Catalog_Model_Resource_Category_Flat::getProductsPosition() in [...]/app/code/core/Mage/Catalog/Model/Category.php on line 318

¿Algunas ideas?

Gracias por adelantado :)

¿Fue útil?

Solución

Esto debería funcionar.

$categoryId = '46'; //replace with your own
$category = Mage::getModel('catalog/category')->load($categoryId);
$positions = Mage::getResourceModel('catalog/category')->getProductsPosition($category);

Esto ignora la bandera de 'categorías planas'. Va directamente al modelo de recursos de categoría.

Incluso puede omitir la carga de la categoría para el rendimiento. y simplemente pase como parámetro un objeto que tiene un id parámetro.

$categoryId = '46'; //replace with your own
$category = new Varien_Object(array('id'=>$categoryId));
$positions = Mage::getResourceModel('catalog/category')->getProductsPosition($category);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top