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="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
版權宣告:本文為博主原創文章,轉載請附上博文連結!