百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Ecshop教程> 为ecshop用户提供商品批备注功能
分享文章到:

为ecshop用户提供商品批备注功能

发布时间:12/03 来源: 浏览: 关键词:

ecshop开发需求:

1. 每个登录的用户在购物过程中的商品列表页、商品详细页、购物车都可以对商品进行批注;

2. 要求1中的批注会显示在订单中每个商品项中;

3. 用户每次登陆之后清除上次的批注。

 

修改方法:

【1】增加两个表:
-- ----------------------------
-- Table structure for `order_comment`
-- ----------------------------
DROP TABLE IF EXISTS `order_comment`;
CREATE TABLE `order_comment` (
  `order_id` mediumint(8) NOT NULL,
  `goods_id` mediumint(8) NOT NULL,
  `goods_comment` varchar(500) DEFAULT NULL,
  PRIMARY KEY (`order_id`,`goods_id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;


-- ----------------------------
-- Table structure for `goods_comment`
-- ----------------------------
DROP TABLE IF EXISTS `goods_comment`;
CREATE TABLE `goods_comment` (
  `goods_id` mediumint(8) NOT NULL,
  `user_id` mediumint(8) NOT NULL,
  `goods_comment` varchar(500) DEFAULT NULL,
  PRIMARY KEY (`goods_id`,`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;


【2】themes\default\library\goods_list.lbi文件中:
<a href="javascript:;" id="compareLink" onClick="Compare.add({$goods.goods_id},'{$goods.goods_name|escape:"html"}','{$goods.type}')" class="f6">{$lang.compare}</a>
后边增加:
           <!--{if $smarty.session.user_id}-->
           {$lang.my_goods_comment}:<textarea onclick="addGoodsComment(this, {$goods.goods_id})" style="width:90%;">{$goods.goods_comment}</textarea>
           <br />
           <!--{/if}-->


【3】themes\default\user_transaction.dwt文件中:
<th width="23%" align="center" bgcolor="#ffffff">{$lang.goods_name}</th>
            <th width="29%" align="center" bgcolor="#ffffff">{$lang.goods_attr}</th>
后面增加:
<!--{if $smarty.session.user_id}-->
              <th bgcolor="#ffffff">{$lang.my_goods_comment}</th>
              <!--{/if}-->


在:
<td align="left" bgcolor="#ffffff">{$goods.goods_attr|nl2br}</td>
后边增加:
<!--{if $smarty.session.user_id}-->
              <td align="right" bgcolor="#ffffff">
              {$goods.goods_comment}
               </td>
              <!--{/if}-->


【4】themes\default\goods.dwt文件中:
<li class="padd">
      <a href="javascript:addToCart({$goods.goods_id})"><img src="images/bnt_cat.gif" /></a>
      <a href="javascript:collect({$goods.goods_id})"><img src="images/bnt_colles.gif" /></a>
      <!-- {if $affiliate.on} -->
      <a href="user.php?act=affiliate&goodsid={$goods.goods_id}"><img src='images/bnt_recommend.gif'></a>
      <!-- {/if} -->
      </li>
后边增加:
<li>
      <!--{if $smarty.session.user_id}-->
      {$lang.my_goods_comment}:<textarea onclick="addGoodsComment(this, {$goods.goods_id})" style="width:90%;">{$goods.goods_comment}</textarea>
      <!--{/if}-->
      </li>


【5】themes\default\flow.dwt文件中:
<th bgcolor="#ffffff">{$lang.goods_name}</th>
      <!-- {if $show_goods_attribute eq 1} 显示商品属性 -->
              <th bgcolor="#ffffff">{$lang.goods_attr}</th>
              <!-- {/if} -->
后边增加:
<!--{if $smarty.session.user_id}-->
              <th bgcolor="#ffffff">{$lang.my_goods_comment}</th>
              <!--{/if}-->


在:
<!-- {if $show_goods_attribute eq 1} 显示商品属性 -->
              <td bgcolor="#ffffff">{$goods.goods_attr|nl2br}</td>
<!--{/if}-->
后边增加:
<!--{if $smarty.session.user_id}-->
              <td align="right" bgcolor="#ffffff">
              <textarea onclick="addGoodsComment(this, {$goods.goods_id})" style="width:90%;">{$goods.goods_comment}</textarea>
               </td>
              <!-- {/if} -->


在:
<th bgcolor="#ffffff">{$lang.goods_name}</th>
              <th bgcolor="#ffffff">{$lang.goods_attr}</th>
后边增加:
<!--{if $smarty.session.user_id}-->
              <th bgcolor="#ffffff">{$lang.my_goods_comment}</th>
              <!--{/if}-->


在:
<!-- {if $goods.is_shipping} -->(<span style="color:#FF0000">{$lang.free_goods}</span>)<!-- {/if} -->
              </td>
              <td bgcolor="#ffffff">{$goods.goods_attr|nl2br}</td>
后边增加:
<!--{if $smarty.session.user_id}-->
              <td align="right" bgcolor="#ffffff">
              <textarea onclick="addGoodsComment(this, {$goods.goods_id})" style="width:90%;">{$goods.goods_comment}</textarea>
               </td>
              <!--{/if}-->


【6】languages\zh_cn\admin\common.php文件中增加:
$_LANG['my_goods_comment'] = '批注';


【7】languages\zh_cn\common.php文件中增加:
$_LANG['my_goods_comment'] = '批注';


【8】js\common.js文件中增加:
/*
 * 将用户对商品的批注写到数据库中 
 */
function addGoodsComment(obj, goodsId)
{
    /* 保存原始的内容 */
    var orgComment = obj.value;


    /* 编辑区失去焦点的处理函数 */
    obj.onblur = function(e)
    {
        var newComment = obj.value;
 
        if (newComment != orgComment)
        {
            res = Ajax.call("./goods.php?is_ajax=1", "act=edit_goods_comment&val=" + encodeURIComponent(Utils.trim(newComment)).toJSONString() + "&id=" +goodsId, null, "POST", "JSON", false);


            if (res.message)
            {
                alert(res.message);
            }
        }  
    }
}


【9】includes\lib_order.php文件中:
$sql = "SELECT rec_id, goods_id, goods_name, goods_sn, market_price, goods_number, " .
            "goods_price, goods_attr, is_real, parent_id, is_gift, " .
            "goods_price * goods_number AS subtotal, extension_code " .
            "FROM " . $GLOBALS['ecs']->table('order_goods') .
            " WHERE order_id = '$order_id'";
改为:
$sql = "SELECT rec_id, order_goods.goods_id, goods_name, goods_sn, market_price, goods_number, " .
            "goods_price, goods_attr, is_real, parent_id, is_gift, " .
            "goods_price * goods_number AS subtotal, extension_code, oc.goods_comment " .
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板