lo que terminó haciendo es en app/design/frontend/default/nombre_tema/template/catalog/producto/list_random.phtml
hacer algo como:
<?php
$_categories=$this->getCurrentChildCategories();
$_category = $this->getCurrentCategory();
$subs = $_category->getAllChildren(true);
$result = array();
foreach($subs as $cat_id) {
$category = new Mage_Catalog_Model_Category();
$category->load($cat_id);
$collection = $category->getProductCollection();
foreach ($collection as $product) {
$result[] = $product->getId();
}
}
shuffle($result);
?>
esto le ayudará a una matriz de id. de producto Puede recorrer a través de ellos y crear productos sobre la marcha usando:
<?php
$i=0;
foreach ($result as $_product_id){
$i++;
$_product = new Mage_Catalog_Model_Product();
$_product->load($_product_id);
//do something with the product here
}?>
a continuación, crear un bloque estático en el CMS con el siguiente contenido
{{block type="catalog/navigation" template="catalog/product/list_random.phtml"}}
Por último, en el Catalogo-> Administrar sección de categorías , elegir la categoría, luego en la pestaña configuración de la pantalla. Cambiar el modo de visualización a "bloque y productos estático" y luego elija su bloque de la lista desplegable.
Y eso debería hacerlo.
sólo una nota: el código anterior obtendrá todos los productos de las categorías y subcategorías actuales. Debe ser bastante trivial para que sea sólo la categoría actual. –
Nota: NO debe incluir "lógica compleja" en el archivo de plantilla. Debería crear BLOCK con un método específico para recuperar productos filtrados que se usarían en la plantilla.También debe usar el método @chapagain o 'Mage_Catalog_Model_Category :: getProductCollection()' que es básicamente el mismo, pero también agrega el filtro STORE VIEW. – xyz