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

 

目录
相关文章
|
12月前
|
机器学习/深度学习 人工智能 计算机视觉
字节豆包大模型团队突破残差连接局限!预训练收敛最快加速80%
字节跳动豆包大模型团队提出“超连接”创新方法,突破残差连接局限,引入可学习的深度和宽度连接,动态调整网络层间连接强度。该方法在大型语言模型预训练中实现最快收敛速度,加速80%,并在图像生成、分类等任务中表现出色,显著提升准确率和稳定性。论文链接:https://arxiv.org/pdf/2409.19606
275 5
|
安全 网络安全 API
2024年海外十大数据泄露事件
2024年,全球网络安全面临严峻挑战,多个行业遭受重大数据泄露事件。UnitedHealth Group数百万患者数据遭窃;AT&T几乎全网客户记录外泄;Trello 1500万用户信息泄露;France Travail 4300万人受影响;MITRE因VPN漏洞受损;Dropbox客户信息外流;BBC Pension Scheme逾2.5万名成员信息暴露;TeamViewer员工目录遭入侵;Advance Auto Parts 230万人信息被盗;Nissan Oceania也未能幸免。这些事件强调了强化数据保护及网络安全策略的重要性。
530 3
2024年海外十大数据泄露事件
|
机器学习/深度学习 监控 安全
图像识别技术在安防监控中的应用探索
【7月更文挑战第31天】图像识别技术在安防监控中的应用已经取得了显著成果,为公共安全和社会稳定提供了有力保障。未来,随着技术的不断发展和创新,图像识别技术将在安防领域发挥更加重要的作用,为我们的生活带来更高的安全保障和便利。
|
存储 弹性计算 Linux
云服务器 ECS产品使用问题之如何实现计划任务定时备份和重启
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
传感器 人工智能 自然语言处理
AI智能家居系统如何实现自动化控制?
【6月更文挑战第23天】AI智能家居系统如何实现自动化控制?
673 7
|
人工智能 机器人 数据库
字节推出「Coze扣子」AI Bot 开发平台,无需编程,让 Chatbot 搭建更快捷、低门槛!
字节推出「Coze扣子」AI Bot 开发平台,无需编程,让 Chatbot 搭建更快捷、低门槛!
816 0
|
网络协议 定位技术 数据安全/隐私保护
APP审核驳回和重大版本问题经典案例及解决方案
APP审核驳回和重大版本问题经典案例及解决方案
541 1
|
JavaScript 前端开发
模块化(Modularization)是一种软件工程实践,旨在将大型、复杂的系统分割成一系列松散耦合、功能独立且具有明确定义接口的模块。
模块化简化复杂软件,通过划分独立模块提升代码可读性、维护性、复用性和扩展性。JavaScript模块化有多种方式:CommonJS(Node.js,`require()`/`module.exports`),AMD(RequireJS,异步加载,`define()`/`require()`),以及ES6 Modules(官方标准,`import`/`export`)。早期还有闭包和IIFE等非正式方法。现代工具如Webpack和Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
398 0
|
人工智能 自然语言处理 前端开发
探索人工智能在前端开发中的应用与前景
【2月更文挑战第2天】随着人工智能技术的迅猛发展,其在前端开发领域的应用日益广泛。本文将重点探讨人工智能在前端开发中的具体应用场景以及未来的发展前景,带领读者深入了解人工智能与前端开发的结合之道。
318 1
|
运维 监控 安全
阿里云香港轻量应用服务器评测,1核1G 30M 24元/月,低价VPS
阿里云香港轻量应用服务器评测,1核1G 30M 24元/月,低价VPS
5689 0