后台商品列表中增加商品属性的显示和修改的方法
功能:在商品列表上,点击放大镜,显示商品所有属性以及其价格。见附件图片。
方法/步骤:
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="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>";
-
}
-
-
}
-
?>
附加说明:
1.以上针对版本:2.6.1,其他版本请自己测试增加是否适用,版本不太低的情况下,我认为适用的。
2.以上代码所涉及的图片,均在官方版本\admin\images下存在的,无须另找。
3.图中出现的库存数量,是我增加的“商品属性与库存关联”的功能。而以上代码不会涉及此项,可直接按照以上步骤操作,无须顾虑。
|