It will be easy if you will get the next and previous product from any page instead
of going to category or navigation or any other link
You can add this code in any of the temaplte file Suppose we are showing in the view.phtml
<?php // Previous and Next product links in product page $_product = $this->getProduct(); if(!$_product->getCategoryIds()) return; // Don't show Previous and Next if product is not in any category $cat_ids = $_product->getCategoryIds(); // get all categories where the product is located $cat = Mage::getModel('catalog/category')->load( $cat_ids[0] ); // load first category, you should enhance this, it works for me $order = Mage::getStoreConfig('catalog/frontend/default_sort_by'); $direction = 'asc'; // asc or desc $category_products = $cat->getProductCollection()->addAttributeToSort($order, $direction); $category_products->addAttributeToFilter('status',1); // 1 or 2 $category_products->addAttributeToFilter('visibility',4); // 1.2.3.4 $cat_prod_ids = $category_products->getAllIds(); // get all products from the category $_product_id = $_product->getId(); $_pos = array_search($_product_id, $cat_prod_ids); // get position of current product $_next_pos = $_pos+1; $_prev_pos = $_pos-1; // get the next product url if( isset($cat_prod_ids[$_next_pos]) ) { $_next_prod = Mage::getModel('catalog/product')->load( $cat_prod_ids[$_next_pos] ); } else { $_next_prod = Mage::getModel('catalog/product')->load( reset($cat_prod_ids) ); } // get the previous product url if( isset($cat_prod_ids[$_prev_pos]) ) { $_prev_prod = Mage::getModel('catalog/product')->load( $cat_prod_ids[$_prev_pos] ); } else { $_prev_prod = Mage::getModel('catalog/product')->load( end($cat_prod_ids) ); } ?> <div> <?php if($_prev_prod != NULL): ?> <a href="<?php print $_prev_prod->getUrlPath(); if($search_parameter):?>?search=1<?php endif;?>"><span><?php echo $this->__('PREVIOUS PRODUCT') ?></span></a> <?php endif; ?> <?php if($_next_prod != NULL): ?> <a href="<?php print $_next_prod->getUrlPath(); if($search_parameter):?>?search=1<?php endif;?>"><span><?php echo $this->__('NEXT PRODUCT') ?></span></a> <?php endif; ?> </div>Just Refresh the cache from the admin
No comments:
Post a Comment
Thankyou for your Comments