Hoy me ha surgido la necesidad, aunque resulte raro, de querer mostrar todos los productos de la web (son pocos, 11) en un lateral.
Magento no tiene nada de esto por lo que hemos tenido que hacer un modulo para mostrar todos los articulos como bloque en Magento.
Ya que se hacía lo hicimos parametizable para poder mostrar todos los de una categoría.
Al hacerlo como bloque lo podemos poner donde queramos, izquierda, derecha, como contenido de una página CMS

Aqui está el código
Lo primero es crear un fichero que declare el módulo.
Para eso nos iremos a app/etc/modules y crearemos el fichero Did_All.xml

<?xml version="1.0"?>
<config>
<modules>
<Did_Productsbycategory>
<active>true</active>
<codePool>local</codePool>
</Did_Productsbycategory>
</modules>
</config>

Luego en app/code/local crearemos una carpeta Did y dentro de esta otra con nombre Productsbycategory (el nombre de nuestro modulo).
Una vez ahi creamos la carpeta etc y añadimos un fichero con nombre config.xml donde pondremos

<?xml version="1.0"?>
<config>
<modules>
<Did_Productsbycategory>
<version>0.1.0</version>
</Did_Productsbycategory>
</modules>
<global>
<blocks>
<did_productsbycategory>
<class>Did_Productsbycategory_Block</class>
</did_productsbycategory>
</blocks>
</global>
</config>

En Productsbycategory crearemos otra carpeta que se llame block y dentro crearemos un fichero con nombre View.php

<?php

class Did_Productsbycategory_Block_View extends Mage_Catalog_Block_Product_Abstract

{
    public $_collection;

    public $_categoryName;
    private $_Cat;

      public function setCat($category) {
        $this->_Cat = $category;
    }

    public function getCatName() {
        return $this->_categoryName;
    }

    protected function _getProductCollection() {
        $storeId    = Mage::app()->getStore()->getId();
        $product    = Mage::getModel('catalog/product');
        $category   = Mage::getModel('catalog/category')->load($this->_Cat);
        $this->_categoryName = $category->getName();

        $visibility = array(
            Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
            Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
        );

        $products   = $product->setStoreId($storeId)
                              ->getCollection()
            ->addAttributeToFilter('visibility', $visibility)
            ->addCategoryFilter($category)
            ->addAttributeToSelect(array('name'), 'inner')
            ->setOrder('name', 'asc')
        ;

        $this->_collection = $products;
        return $this->_collection;
    }

    public function getCurrentCategory() {
        return Mage::getModel('catalog/category')->load($this->_Cat);
    }

    public function getProductCollection() {
        return $this->_getProductCollection();
    }
}

Finalmente crearemos el template.
Dentro de nuestro tema crearemos una carpeta Productsbycategory con un fichero que se llame view.phtml
Este es fichero que mostrará y formateará los resultados.
Aquí esta un ejemplo pero se deberá adaptar para cada template

<?php
$this->_getProductCollection();
if(!$this->_collection->count()): ?>
<div class="note-msg">
    <?php echo $this->__('There are no products matching the selection.') ?>
</div>
<?php else: ?>
<div class="block">
<div class="block-title">
<strong><span><?php echo $this->getCatName(); ?></span></strong>

</div>
<div class="block-content">
<?php //echo Mage::registry('current_category')->getId(); ?>
<ul class="listaproductos">
<?php foreach ($this->_collection as $_product): ?>
            <li><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<?php endif; ?>

Finalmente solo queda especificar su uso.
Nosotros por ejemplo lo hemos actualizado el layout catalog.xml y le hemos añadido.
En el ejemplo pasamos la categoría como 0 para que lo muestre todo, pero se podría poner el Id de una y mostraría solo los de esa.

<reference name="left">
   <block type="did_productsbycategory/view" name="leftprodlist" template="productsbycategory/view.phtml" />
</reference>
<reference name="leftprodlist">
   <action method="setCat"><category>0</category></action>
</reference>