Monday, November 28

How to get previous-next products url on product view page in magento

Here is the code to get previous/next product url in magento product view page.

Add the following script in catalog/product/view.phtml

<?php
/**
* get the previous/next product's url on product view page
*/
$_curProduct = $this->getProduct();
$_curCategory = $this->helper('catalog/data')->getCategory();
$_prdPosition = $_curCategory->getProductsPosition();
$current_pid = $this->helper('catalog/data')->getProduct()->getId();
 
// build a product array from current products positions
$plist = array();
foreach ($_prdPosition as $pid => $pos) {
 $plist[] = $pid;
}
$_curPosition = array_search($current_pid, $plist);
 
// get the url for previous product
$prevProductId = isset($plist[$_curPosition+1])? $plist[$_curPosition+1] : $current_pid;
$product = Mage::getModel("catalog/product")->load($prevProductId);
$prevProductPosition = $_curPosition;
while (!$product->isVisibleInCatalog()) {
 $prevProductPosition += 1;
 $nextProductId = isset($plist[$prevProductPosition])? $plist[$prevProductPosition] : $current_pid;
 $product = Mage::getModel("catalog/product")->load($nextProductId);
}
$prevProductUrl = $product->getProductUrl();
 
 
// get the url for next product
$nextProductId = isset($plist[$_curPosition-1])? $plist[$_curPosition-1] : $current_pid;
$product = Mage::getModel("catalog/product")->load($nextProductId);
$nextProductPosition = $_curPosition;
while (!$product->isVisibleInCatalog()) {
 $nextProductPosition -= 1;
 $nextProductId = isset($plist[$nextProductPosition])? $plist[$nextProductPosition] : $current_pid;
 $product = Mage::getModel("catalog/product")->load($nextProductId);
}
$nextProductUrl = $product->getProductUrl();
 
 
// get the url for current category
$curCategoryUrl = $_curCategory->getUrl();
 
 
// for html view edit this code block
if($_curProduct->getProductUrl()!= $nextProductUrl){ 
 echo $nextProductUrl
}
 
if(($_curProduct->getProductUrl()!= $nextProductUrl) && ($_curProduct->getProductUrl()!= $prevProductUrl) ) {
 echo "&nbsp;&nbsp; | &nbsp;&nbsp";
}
 
if($_curProduct->getProductUrl()!= $prevProductUrl){
 echo $prevProductUrl;
}
?> 
 
Now we can get the "pre/next" product links in magento product view page...

Hope it Helps... Thanks...

Thursday, November 17

How to Add Thumbnail Image in Magento Transactional Email

Here is the script to get Thumbnail Image in Magento Transactional Email

<?php //added for sending image with order
$product = Mage::getModel('catalog/product')
->setStoreId($_item->getOrder()->getStoreId())
->load($_item->getProductId());
?>
<p align="center"><img src="<?php echo Mage::helper('catalog/image')->init($product, 'image')->resize(50); ?>" width="50" height="50" alt="" /></p>
add this snippet below

<td align="left" valign="top" style="padding:3px 9px">

Please allow Display images in your email
Hope it Helps... Thanks...