自己写的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,这里我把它放在产品名的下面

<div class="product-shop"> <div class="product-name"> <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1> </div> <?php echo $this->getChildHtml('pnnavigation') ?> …………………………………………………………………… 

 

OK,现在可以在前台看效果了,至于前台显示要怎么弄的好看就是个人自己的事了。

 

说明:我这里的上一个和下一个是指在当前分类下,相对于当前产品的上一个和下一个产品,以产品ID为顺序,当当前不存在上一个或下一个时(比如该分类的第一个或最后一个产品),即不显示对应的链接(比如第一个产品不显示“上一个”链接)。AW的插件貌似可以从最后一个再返回第一个,这个也不难,不过留给下个版本吧,嘿嘿。

 

目录
相关文章
|
9月前
|
搜索推荐 数据挖掘
伙伴云「页面」上线!网站、博客、资源库、文档、周报,拖拽即刻实现
一年来,伙伴云收到了许多用户对于仪表盘升级的期待,以及对新功能规划的询问。经过千百次调研、开发、内测,我们开发了一款页面构建引擎,Ta既提供了灵活的可定制性,也不像网页设计器晦涩难懂,且具有丰富的数据展现能力。
103 0
|
3天前
|
存储 数据采集 运维
云效产品使用报错问题之给公司同事配置了权限,但是看不见项目,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
9天前
|
数据库
一款挺不错网站维护页面源码
一款挺不错网站维护页面源码,单HTML不需要数据库,上传到你的虚拟机就可以用做维护页面还不错,用处多。。
13 2
一款挺不错网站维护页面源码
|
3月前
|
运维 搜索推荐 数据安全/隐私保护
如何巧用阿里云搭建公司网站?
现在是互联网时代,很多企业都注重互联网,通过做公司网站进行展示及营销。公司网站好处有以下几点:
53 0
|
6月前
|
安全 区块链 数据安全/隐私保护
dapp互助预约排单二二复制/三三复制大小公排项目系统开发稳定版/玩法详情/指南教程/规则方案/需求设计/案例源码
能合约在代码中加入了许多安全校验机制,比如对输入参数范围的检查、防止重入攻击的修复等。并且智能合约在运行过程中记录每一笔交易以及合约状态的变化,确保所有的交易和状态都是经过验证和授权的,不会受到篡改。
|
8月前
|
运维 安全 Linux
GitHub点击量已破千万!世界级运维专家手写:793页Linux实战笔记
我们知道Linux这玩意儿是在计算机上面运行的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? Linux可以在哪些种类的计算机硬件上面运行?而Linux源自哪里?为什么使用Linux还不用花钱?这些我们都得先来谈—谈! 免得下次人家问你,为什么复制软件不会违法时,你会答不出来!
|
8月前
|
安全 Python
盲盒商城系统模型开发技术方案源代码详情
blind_boxes = get_blind_boxes() return render_template(&#39;index.html&#39;, blind_boxes=blind_boxes) else: return redirect(url_for(&#39;login&#39;))
|
前端开发 JavaScript
测试圈相亲平台开发流程(6):搜索页-前端开发
测试圈相亲平台开发流程(6):搜索页-前端开发
测试圈相亲平台开发流程(6):搜索页-前端开发
|
人工智能 供应链 安全
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析
本篇主要讲解酷应用的红利期与机会点,以及做酷应用的方法路径。
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析
|
SQL 数据库
【自然框架】注册会员活动——第一份代码的修改建议(第一版)
  前情回顾:       自然框架开源社区的第一次活动——实现会员注册 (活动介绍)     自然框架开源社区第一次活动的资源包  (内含数据库设计、数据库文档、实例代码)     参与方式   (可以在这里报名参加)     人员表设计思想 —— 也许会有点帮助 (数据库的设计思路)     【自然框架】开源社区活动,会员注册的第一份代码!  (第一份代码的 原版代码)       下载“好坏”的会员注册完整代码。
952 0

热门文章

最新文章