Добавляем навигацию по предыдущему и следующему товару на странице товара для сайта на magento
Для начала, открываем файл view.phtml
в любом текстовом редакторе.
Найти его можно по адресу app/design/frontend/default/{your theme name}/template/catalog/product/view.phtml
или здесь - app/design/frontend/base/default/template/catalog/product/view.phtml
.
Далее, добавляем в него код представленный ниже в то место, где планируем выводить навигацию между соседним товарам:
<?php // Previous and Next product links in product page
$_products = $this->getProduct();
if(!$_products->getCategoryIds())
return; // it will not display the Previous and Next if there no product in any category
$cat_ids = $_products->getCategoryIds();
$cat = Mage::getModel('catalog/category')->load( $cat_ids[0] );
$order = Mage::getStoreConfig('catalog/frontend/default_sort_by');
$direction = 'asc'; // asc or desc
$category_product = $cat->getProductCollection()->addAttributeToSort($order, $direction);
$category_product->addAttributeToFilter('status',1); // 1 or 2
$category_product->addAttributeToFilter('visibility',4); // 1.2.3.4
$cat_prod_ids = $category_product->getAllIds(); // get all products from the category
$_product_id = $_products->getId();
$_pos = array_search($_product_id, $cat_prod_ids); // get position of current product
$_next_pos = $_pos+1;
$_prev_pos = $_pos-1;
// load 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) );
}
// load 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>