Modificando los colores de los pedidos en la administración de Magento

Hemos tenido que modificar los colores de los renglones que muestran los pedidos en la administración de Magento para un cliente, aquí os dejamos la información del proceso seguido para llevar los cambios a cabo.

En primer lugar debemos duplicar el archivo grid.js

[php]js/mage/adminhtml/grid.js[/php]

Lo copiamos a:

[php]js/colors/adminhtml/grid.js[/php]

Una vez duplicado, lo editamos y añadimos:

[php]colorize();[/php]

cerca de la linea 210, en una linea nueva anterior a la que contiene:

[php]}.bind(this)[/php]

Y al final del documento añadimos este código para definir los colores que queremos usar:

[js]
function colorize () {
 $$('td').each(function(macguffin) {
 if(macguffin.innerHTML.strip()=="Processing") macguffin.parentNode.setStyle({backgroundColor: 'Orange' });
 if(macguffin.innerHTML.strip()=="Pending") macguffin.parentNode.setStyle({backgroundColor: 'Gold', color:'Black' });
 if(macguffin.innerHTML.strip()=="Payment Review") macguffin.parentNode.setStyle({backgroundColor: 'LightPink' });
 if((macguffin.innerHTML.strip()=="On Hold")||(macguffin.innerHTML.strip()=="Payment Review")) macguffin.parentNode.setStyle({backgroundColor: 'HotPink' });
 if(macguffin.innerHTML.strip()=="Suspected Fraud") macguffin.parentNode.setStyle({backgroundColor: 'Red' });
 if((macguffin.innerHTML.strip()=="Closed")||(macguffin.innerHTML.strip()=="Canceled")||(macguffin.innerHTML.strip()=="Cancelled")) macguffin.parentNode.setStyle({backgroundColor: 'LightBlue', fontStyle: 'italic' });
 if(macguffin.innerHTML.strip()=="Complete") macguffin.parentNode.setStyle({backgroundColor: 'LightGreen' });
 });



}
document.observe("dom:loaded", colorize);
[/js]

Ahora tenemos que editar el archivo xml para que Magento carge nuestro grid.js, editamos el archivo:

[php]app/design/adminhtml/default/default/layout/local.xml[/php]

Lo modificamos indicando que no cargue el grid.js de mage y que utilice el nuestro en su lugar:

[xml]

jsmage/adminhtml/grid.js
jscolors/adminhtml/grid.js

[/xml]