Obtener la posición de los productos mientras usa tablas planas
-
16-10-2019 - |
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 :)
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