Tag Archives: e-commerce

Magento : How to show new products in category list

In any normal e-commerce website, it is a good thing to obviously show which products are new. This way you attract attention of your regular visitors and maybe you sell more and you extend the lifetime customer value. Anyway, it is pretty normal to put these new products in front of others in the catalog, or at least to make them conspicuous.

Although Magento allows you to configure start and end dates for a product in order to show it as new, the default Magento template doesn’t show it. This is the goal of this mini-tutorial : to show you how to show new products among old ones in a category list.

In fact, this is not complicated, you only have to know how to do it. This information I’ve found on this forum (french) doesn’t seem to be well known over the internet, but giving such informations might help a lot improving the Magento Community. Anyway. I’ve summerized it, put it in a real example, and even provided it as a download for lazy developers.

First, in the product page of some product in Magento’s backend, insert starting and ending dates for its newness state. To do a test, put (of course) a date before today’s date, and a date which is later as today’s date.

The code to add to access newness dates of a product is the following :

load($_product->getID())->getNewsFromDate();
$newToDate = Mage::getModel(‘catalog/product’)->load($_product->getID())->getNewsToDate();

// Date and time (now)
$now = date(“Y-m-d H:m:s”);

if($newFromDate < $now && $newToDate > $now) {
echo “nv”;
}
?>

Variables $newFromDate and $newToDate get start and end dates of the active product during the loop. This data is only available if you did insert dates values in your product page. If you don’t see any change when you’ll reload the page, you may have not did this 🙂

The path of the file where to insert this code is named list.phtml is the following (just replace yourtheme by name of the theme you’re using, default is default one) :

/app/design/frontend/default/yourtheme/template/catalog/product/list.phtml

To add code for « list » mode, go to line 47, after this start of loop :

For « grid » mode, go to line 93, after the same code as for « list » mode, or almost.

In both cases, you can place the code wherever you want, as soon it is within the loop. Here is what end of loops look like :

If you followed this tutorial correctly, you should see at list a product with mention « This is new! ». If it doesn’t work, you still can download the file (Magento v1.3.2.4) down this page or ask help in comments of this article!