ecshop 商品属性显示方法
功能:在商品列表上,点击放大镜,显示商品所有属性以及其价格,效果如下:
方法/步骤:
1.编辑\admin\templates\goods_list.htm 模板,在
<!-- 商品搜索 -->
{include file="goods_search.htm"}
下面加入以下代码:
<div id="zoomImg" style="position:absolute;display:none;width:200px; height:160px;padding:5px;cursor:hand;border:1px solid
#B4DCFF;z-index:20;background:#F4F9FF"></div>
2. 查找
<span onclick="listTable.edit(this, 'edit_goods_name',
{$goods.goods_id})">{$goods.goods_name|escape:html}</span>
在这行代码前面(<span前),插入:
<img src="data:images/icon_view.gif" title="查看属性列表"
border=0 onclick="zoomImg(this,'{$goods.goods_id}')">
3.拖到底部,在</script>前,插入以下JS函数;
function zoomImg(obj,sortId){
var layer = document.getElementById("zoomImg");
var t=obj.offsetTop;
var l=obj.offsetLeft;
while(obj=obj.offsetParent){
t+=obj.offsetTop;
l+=obj.offsetLeft;
}
layer.style.left =l+100;
layer.style.top = t-5;
//layer.style.left =200;
//layer.style.top = 120;
zoomHtml="<table><tr><td>←</td><td align=right><a href=# onclick=document.getElementById
('zoomImg').style.display='none'><img src='images/menu_minus.gif' title='关闭' border=0></a></td></tr><tr><td height=130
colspan=2><IFRAME frameBorder=0 frameSpacing=0 height=100% marginHeight=0 marginWidth=0 scrolling=yes name=main
src=goods_attr.php?id="+sortId+" width=300></IFRAME>";
zoomTime=setTimeout("showZoomImg()",1000);
}
function hideZoomImg(){
var layer = document.getElementById("zoomImg");
clearTimeout(zoomTime);
layer.style.display='none';
zoomHtml="";
}
function showZoomImg(){
var layer = document.getElementById("zoomImg");
layer.innerHTML=zoomHtml;
layer.style.display='';
}
以上模板编辑完成。
4,将以下代码保存goods_attr.php文件,保存在\admin下:
<?php
define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
require_once(ROOT_PATH . '/admin/includes/lib_goods.php');
include_once(ROOT_PATH . '/includes/cls_image.php');
if ($_REQUEST['id'])
{
$sql = 'SELECT goods_attr_id,goods_id,attr_value,attr_price FROM ' .$ecs->table('goods_attr').
' WHERE goods_id='.$_REQUEST['id'].' ORDER BY goods_attr_id';
$res = $db->query($sql);
$arr = array();
echo "<link href=styles/general.css rel=stylesheet type=text/css />";
echo "<link href=styles/main.css rel=stylesheet type=text/css />";
echo "当前属性库存:<br>";
while ($row = $db->fetchRow($res))
{
if ($row['attr_price']=="" or $row['attr_price']==0)
{
$price="";
}else{
$price="属性价格:".$row['attr_price'];
}
echo "名称:".$row['attr_value']." ".$price."<br>";
}
}
?>
好,大功告成!
---------------------
作者:woaixhq
来源:CSDN
原文:https://blog.csdn.net/woaixhq/article/details/6621825
版权声明:本文为博主原创文章,转载请附上博文链接!
ecshop 商品属性显示方法的更多相关文章
- ECSHOP商品属性调用到任意页面方法
看到标题有的人觉得这个很复杂,其实这个没那么复杂,直接用下面的方法,就可以在ECSHOP的任意页面调用商品属性. 一)打开includes\lib_insert.php文件,在最后面增加一个函数: f ...
- Ecshop商品详情页显示当前会员等级价格
会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价. 解决方法: 这个需要修改ECSHOP程序代码来实现. 打开文件 /in ...
- ecshop 属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系
ecshop 属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系 一个商城的商品属性存放在属性表(attribute)里 ,每个商品对应的属性在goo ...
- ECSHOP 商品字段增加新字段的方法
结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:n ...
- gvim如何显示html属性代码提示? vim 如何显示 javascript属性及方法提示?
gvim如何显示html属性代码 可以在vim中 显示 html, css, js等的属性/方法 提示: 一是: 在 ~/.vim/after/syntax/ 目录中 安装 css-color.vim ...
- 在ecshop商品详情页显示供货商
好久没写文章了,隐约记得前几天有人问到这个问题:[如何在ecshop商品详情页面显示该商品的供货商?] 今天有时间整理下,分享给大家. 注:以下修改适用于ecshop2.7.2,其他版本未做测试. 1 ...
- IE显示对象不支持此属性或方法 的解决方法
用C# 编写的ActiveX控件, 调试时,在世界之窗浏览器里能正确显示,但是不能和JS交互,也没有传说中的错误信息框出现,查了很多文档,后来想问题是不是出在浏览器上,换在IE8里调试,点击交互按钮, ...
- ECSHOP 商品增加新字段的方法
在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...
- (1)定义闭合图形抽象类ClosedFigure定义属性:1.形状;2.定义构造方法,给形状赋值;3.定义两个抽象方法:计算面积和计算周长;4.定义一个显示方法:显示图像形状,周长,面积;
题目显示不全,完整题目描述: (1)定义闭合图形抽象类ClosedFigure定义属性:1.形状:2.定义构造方法,给形状赋值:3.定义两个抽象方法:计算面积和计算周长:4.定义一个显示方法:显示图像 ...
随机推荐
- 关于Python深浅拷贝
拷贝: 说明:原则上就是把数据分离出来,复制其数据,并以后修改互不影响. 何来深浅拷贝的说法? 深浅拷贝的“深”和“浅”可以理解为从变量到硬盘上的物理存储介质之间的层次的多少. 下面用一个示例来解释浅 ...
- Linux知识要点大全(第三章)
第三章 Linux基本操作 *主要内容 1:认识root用户 2:Linux下命令的写法 3:Linux关机和重启 4:忘记root密码的处理方法 5. Linux下的目录结构 6. 查看信息 ...
- 关于 Docker 镜像的操作,看完这篇就够啦 !(下)
紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...
- .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...
- springboot~yml里的自定义配置
主要介绍三种,字符串配置,数组配置和带默认值的配置 字符串配置 //yml setString: hello /** * 字符串. */ @Value("${setString}" ...
- RESTful API接口文档规范小坑
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 前后端分离的开发模式,假如使用的是基于RESTful API的七层通讯协议,在联调的时候,如何避免配合过程中出现问 ...
- .NET Core和.NET Standard有什么不同
近日,微软发布了.NET Core 2.0,但是开发人员中间仍然存在一些疑惑,就是.NET Core..NET Standard.Xamarin和.NET Framework有什么不同. .N ...
- Yii2设计模式——单例模式
应用举例 在Yii.php中: require __DIR__ . '/BaseYii.php'; // Yii框架的帮助类,提供框架基本的功能 class Yii extends \yii\Base ...
- 微信小程序 picker 中range-key的坑
<picker class='fr' bindchange="onChangeBuild" range-key="{{'num'}}" value=&qu ...
- PHP的简单跳转提示的实现
在PHP开发中,尤其是MVC框架或者项目中,会碰到很多跳转情况,比如:登录成功或失败后的跳转等等. 以下以MVC框架开发中为基础,示例讲解: 在基础控制器类中:Conrtoller.class.php ...