自己写的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的插件貌似可以从最后一个再返回第一个,这个也不难,不过留给下个版本吧,嘿嘿。

 

目录
相关文章
|
7月前
用织梦实现一个从零到可以正常访问的网站--第三章
用织梦实现一个从零到可以正常访问的网站--第三章
38 0
|
7月前
|
移动开发 前端开发 JavaScript
用织梦实现一个从零到可以正常访问的网站--第二章
用织梦实现一个从零到可以正常访问的网站--第二章
74 0
|
5月前
|
运维 小程序 前端开发
好的商业模式-----小程序定制资料,加一张好看的海报,在推广中就可以找到用户中了,云服务部署收5000,部署是一种服务,定制化,游戏开发创者,仲裁劳务会剪视频好,提供服务,想增加一些新功能收费,会说
好的商业模式-----小程序定制资料,加一张好看的海报,在推广中就可以找到用户中了,云服务部署收5000,部署是一种服务,定制化,游戏开发创者,仲裁劳务会剪视频好,提供服务,想增加一些新功能收费,会说
|
7月前
|
运维 搜索推荐 数据安全/隐私保护
如何巧用阿里云搭建公司网站?
现在是互联网时代,很多企业都注重互联网,通过做公司网站进行展示及营销。公司网站好处有以下几点:
141 0
|
7月前
|
域名解析 JavaScript 前端开发
用织梦实现一个从零到可以正常访问的网站--第一章
用织梦实现一个从零到可以正常访问的网站--第一章
55 0
无人问津的设置页面,如何做到小而精美?
无人问津的设置页面,如何做到小而精美?
76 0
|
人工智能 供应链 安全
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析
本篇主要讲解酷应用的红利期与机会点,以及做酷应用的方法路径。
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析
|
数据采集 开发框架 安全
准备创建独立站?2022年最新制作企业官网必看的网页设计全攻略
不管你选择自行架设或是委托给网页设计公司,网站架设从主机伺服器、网域名称、网页版面设计、网站视觉呈现,再到后续网站经营的追踪工具、行销推广策略,当中有大量的选择仍需要你自行决定,就算是网页设计公司也只能站在专业的角度提供建置协助。
226 0
准备创建独立站?2022年最新制作企业官网必看的网页设计全攻略
PancakeBot ,把薄饼做成任何你想要的样子 | 酷玩精选
也许你已经厌倦了传统的薄饼的单一样式,那是时候做出改变了,正巧 PancakeBot 可以帮你改变这一切。
157 0
PancakeBot ,把薄饼做成任何你想要的样子 | 酷玩精选
下一篇
无影云桌面