功能:在商品列表上,点击放大镜,显示商品所有属性以及其价格,效果如下:

方法/步骤:

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 商品属性显示方法的更多相关文章

  1. ECSHOP商品属性调用到任意页面方法

    看到标题有的人觉得这个很复杂,其实这个没那么复杂,直接用下面的方法,就可以在ECSHOP的任意页面调用商品属性. 一)打开includes\lib_insert.php文件,在最后面增加一个函数: f ...

  2. Ecshop商品详情页显示当前会员等级价格

    会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价. 解决方法: 这个需要修改ECSHOP程序代码来实现. 打开文件 /in ...

  3. ecshop 属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系

    ecshop 属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系 一个商城的商品属性存放在属性表(attribute)里 ,每个商品对应的属性在goo ...

  4. ECSHOP 商品字段增加新字段的方法

    结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:n ...

  5. gvim如何显示html属性代码提示? vim 如何显示 javascript属性及方法提示?

    gvim如何显示html属性代码 可以在vim中 显示 html, css, js等的属性/方法 提示: 一是: 在 ~/.vim/after/syntax/ 目录中 安装 css-color.vim ...

  6. 在ecshop商品详情页显示供货商

    好久没写文章了,隐约记得前几天有人问到这个问题:[如何在ecshop商品详情页面显示该商品的供货商?] 今天有时间整理下,分享给大家. 注:以下修改适用于ecshop2.7.2,其他版本未做测试. 1 ...

  7. IE显示对象不支持此属性或方法 的解决方法

    用C# 编写的ActiveX控件, 调试时,在世界之窗浏览器里能正确显示,但是不能和JS交互,也没有传说中的错误信息框出现,查了很多文档,后来想问题是不是出在浏览器上,换在IE8里调试,点击交互按钮, ...

  8. ECSHOP 商品增加新字段的方法

    在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...

  9. (1)定义闭合图形抽象类ClosedFigure定义属性:1.形状;2.定义构造方法,给形状赋值;3.定义两个抽象方法:计算面积和计算周长;4.定义一个显示方法:显示图像形状,周长,面积;

    题目显示不全,完整题目描述: (1)定义闭合图形抽象类ClosedFigure定义属性:1.形状:2.定义构造方法,给形状赋值:3.定义两个抽象方法:计算面积和计算周长:4.定义一个显示方法:显示图像 ...

随机推荐

  1. python进程和线程(四)

    线程同步条件.信号量及队列 同步条件(event) 下面是官方文档对event的一些解释: An event is a simple synchronization object; the event ...

  2. LeetCode算法题-Robot Return to Origin(Java实现)

    这是悦乐书的第281次更新,第298篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第149题(顺位题号是657).在2D平面上有一个从位置(0,0)开始的机器人.给定其移 ...

  3. Ubuntu 安装yii2 advanced版 遇到的坑

    1.安装 Composer https://www.yiichina.com/doc/guide/2.0/start-installation通过 Composer 安装 curl -sS https ...

  4. 使用remix发布部署 发币 智能合约

    Remix是一个基于浏览器的编译器和IDE,使用户能够使用Solidity语言构建以太坊合约并调试事务. 在上一篇文章已经成功的使用代码讲智能合约编译并且发布部署到了链上,可是在部署 发币的智能合约 ...

  5. springboot~lombok使用总结

    @Getter & @Setter 生成getter和setter块 @Data注解 @Data相当于@Getter @Setter @RequiredArgsConstructor @ToS ...

  6. k8s网络之Flannel网络

    k8s网络主题系列: 一.k8s网络之设计与实现 二.k8s网络之Flannel网络 三.k8s网络之Calico网络 简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划 ...

  7. Linux系统上安装MySQL(rpm)

    1.准备工作 从MySQL官网上分别下载mysql服务器端于客户端包. 如: MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15 ...

  8. 包(package)以及面向对象三个基本特征(继承)的介绍

    1.包(package) 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包也可以看成一个目录. 包的作用 [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维 ...

  9. 程序员50题(JS版本)(八)

    程序36:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人推出圈子,问最后留下的是原来第几号的那位 var n=20; var arr=[]; for(var i=0;i& ...

  10. vue+element-ui实现行数可控的表格输入

    element的table中使用 <template slot-scope="scope"> </template> 包裹想要插入的input,或者sele ...