西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

如何在magento产品页添加下一件上一件产品链接

时间:2016-05-16 18:49来源: 作者: 点击:
相信很多人都有遇到过magento如何在产品页添加下一件,上一件产品链接的问题,那么该如何解决呢?不用担心,强创网络会在这里给大家分享。 magento产品详细页添加下一件,上一件产

相信很多人都有遇到过magento如何在产品页添加下一件,上一件产品链接的问题,那么该如何解决呢?不用担心,好模板zuimoban网站模板会在这里给大家分享。
magento产品详细页添加下一件,上一件产品链接 ;网上商城在产品详细页放上一件和下一件产品的链接在不少地方看到过,AW出品的收费插件卖89美元,不太值啊!
在这免费与大家分享;总共就两个文件,一个php文件和一个phtml文件,刚好组成一个block。

  • php文件的代码:
<?php
class Mage_Catalog_Block_Product_Pnnavigation extends Mage_Catalog_Block_Product_Abstract
{
       public function getUponProduct($direction)
       {
 
       $visibility = array(
                      Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
                      Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
                  );
            $_product = Mage::getResourceModel('reports/product_collection')
                        ->addAttributeToSelect('*')
                        ->addAttributeToFilter('visibility', $visibility)
                        ->addCategoryFilter(Mage::registry('current_category'));
            if($direction=='previous'){
                 $_product->getSelect()->where('product_id<?',$this->getProduct()->getId());
            }elseif($direction=='next'){
                 $_product->setOrder('product_id', 'asc');
                 $_product->getSelect()->where('product_id>?',$this->getProduct()->getId());
            }
            $_product = $_product->getFirstItem();
 
            return $_product;
       }
 
    public function getProduct()
    {
        if (!Mage::registry('product') && $this->getProductId()) {
            $product = Mage::getModel('catalog/product')->load($this->getProductId());
            Mage::register('product', $product);
        }
        return Mage::registry('product');
    }
}
  • phtml的代码:
<div>
<?php if($this->getUponProduct('previous')->getId()):?>
<a href="<?php echo $this->getUponProduct('previous')->getProductUrl();?>">上一个</a>
<?php endif;?>
<?php if($this->getUponProduct('next')->getId()):?>
<a href="<?php echo $this->getUponProduct('next')->getProductUrl();?>">下一个</a>
<?php endif;?>
</div>

php文件放在app/code/local/Mage/Catalog/Block/Product目录下,phtml文件放在app/design/frontend/default/default/template/catalog/product/view目录下,当然具体位置取决于你自己的模板。

  • 然后在catalog.xml中添加这个block到产品详细页
<!--
Product view
-->
    <catalog_product_view translate="label">
        <label>Catalog Product View (Any)</label>
…………………………………………………………………………
    <reference name="content">
            <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
              <block type="catalog/product_pnnavigation" name="pnnavigation"  template="catalog/product/view/previousnext.phtml"/>
………………………………………………………………………………………………
  • 最后打开产品详细页的view.phtml,调用这个block,这里好模板zuimoban网站模板把它放在产品名的下面
<div class="product-shop">
            <div class="product-name">
                <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
            </div>
            <?php echo $this->getChildHtml('pnnavigation') ?>

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容