您的位置:首页 > 其它

magento产品详细页添加下一件、上一件产品链接

2010-12-21 21:01 351 查看
此代码放在你的magento系统的view.phtml文件中即可。

代码如下:

<?php

$_helper = $this->helper(‘catalog/output’);//如果view.phtml文件中已经存在,可不加

$_product = $this->getProduct();//如果view.phtml文件中已经存在,可不加

$prev_url = $next_url = $url = $_product->getProductUrl();

if ($this->helper(‘catalog/data’)->getCategory()) {

$category = $this->helper(‘catalog/data’)->getCategory();

} else {

$_ccats = $this->helper(‘catalog/data’)->getProduct()->getCategoryIds();

$category = Mage::getModel(‘catalog/category’)->load($_ccats[0]);

}

$children = $category->getProductCollection();

$_count = is_array($children) ? count($children) : $children->count();

if ($_count) {

foreach ($children as $product) {

$plist[] = $product->getId();

}

/**

* Determine the previous/next link and link to current category

*/

$current_pid = $this->helper(‘catalog/data’)->getProduct()->getId();

$curpos = array_search($current_pid, $plist);

// get link for prev product

$previd = isset($plist[$curpos+1])? $plist[$curpos+1] : $current_pid;

$product = Mage::getModel(‘catalog/product’)->load($previd);

$prevpos = $curpos;

while (!$product->isVisibleInCatalog()) {

$prevpos += 1;

$nextid = isset($plist[$prevpos])? $plist[$prevpos] : $current_pid;

$product = Mage::getModel(‘catalog/product’)->load($nextid);

}

$prev_url = $product->getProductUrl();

// get link for next product

$nextid = isset($plist[$curpos-1])? $plist[$curpos-1] : $current_pid;

$product = Mage::getModel(‘catalog/product’)->load($nextid);

$nextpos = $curpos;

while (!$product->isVisibleInCatalog()) {

$nextpos -= 1;

$nextid = isset($plist[$nextpos])? $plist[$nextpos] : $current_pid;

$product = Mage::getModel(‘catalog/product’)->load($nextid);

}

$next_url = $product->getProductUrl();

}

?>

<?php if ($url != $prev_url):?>

<a class=”next-product” href=”<?php echo $prev_url; ?>”>

<?php echo $this->__(‘Prev’) ?>

<?php endif; ?>

<?php if ($url != $next_url):?>

<a class=”prev-product” href=”<?php echo $next_url; ?>”>

<?php echo $this->__(‘next’) ?>

<?php endif; ?>

转载自:研究者之家
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: