Pedidos recientes en el Panel de Control del Comprador en Magento

Vuelvo a escribir, y al parecer perdí la capacidad de resumir los títulos.

En uno de los últimos proyectos en los que estuve participando, junto con Pedro, nos tocó modificar bastante el dashboard del Comprador.

De todo el lío que armamos, hubo una modificación que en si, llamó la atención: la cantidad de Pedidos recientes.

Normalmente, ese bloque se ve de la siguiente manera.

Bloque de Pedidos Recientes del Comprador en Magento

En nuestro caso, el requerimiento pedía que el número de pedidos debía ser otro. Ese parámetro no es editable en Magento, así que tuvimos que hacer un pequeño cambio.

El bloque que define la información a mostrarse en ese template es: /app/code/core/Mage/Sales/Block/Order/Recent.php

En el constructor de la clase, vamos a encontrar que se arma la siguiente query:

public function __construct()
{
    parent::__construct();

    //TODO: add full name logic
    $orders = Mage::getResourceModel('sales/order_collection')
        ->addAttributeToSelect('*')
        ->joinAttribute('shipping_firstname', 'order_address/firstname', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_lastname', 'order_address/lastname', 'shipping_address_id', null, 'left')
        ->addAttributeToFilter('customer_id', Mage::getSingleton('customer/session')->getCustomer()->getId())
        ->addAttributeToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
        ->addAttributeToSort('created_at', 'desc')
        ->setPageSize('5')
        ->load()
    ;

    $this->setOrders($orders);
}

Es con setPageSize que se especifica el tamaño (o la cantidad) de registros que van a devolverse con la consulta.

Cambiando ese valor, vamos a poder modificar la cantidad de Pedidos recientes.

De más está decir que el core de la plataforma no se toca, así que podemos optar por copiar el bloque a local y aplicar la modificación o, como en nuestro caso, hacer un módulo que permita cambiar el parámetro desde configuración.

Configurando la cantidad de Pedidos recientes para el Comprador

Una vez que guardamos los cambios, la lista de Pedidos recientes tendrá el tamaño que necesitemos.

Vista modificada de la cantidad de Pedidos recientes en Magento