ecshop增加产品属性和规格选择
2009-09-14 17:50 来源:www.chinab4c.com 作者:ecshop专家
1:在goods表里面增加属性。
goods_color颜色图片
goods_color_name颜色名称
2:修改后台产品录入模块。
 <tr id="auto_thumb_1">
            <td class="label"> 材料图片:</td>
            <td id="auto_thumb_3">
              <input type="file" name="goods_color" size="35" />{if $goods.goods_color}
                <a href="goods.php?act=show_image&img_url={$goods.goods_color}" target="_blank"><img src="images/yes.gif" border="0" /></a>
              {else}
                <img src="images/no.gif" />
              {/if}
             
            </td>
          </tr>
     <tr id="auto_thumb_1">
            <td class="label"> 材料名称:</td>
            <td id="auto_thumb_3">
             <input type="text" name="goods_color_name" value="{$goods.goods_color_name}">
            </td>
          </tr>
3:后台goods.php程序中,增加以下程序,用于存储颜色和名称
 $goods_color = $image->upload_image($_FILES['goods_color'],'goods_color');
 $goods_color_name = !empty($_POST['goods_color_name']) ? $_POST['goods_color_name'] : '';
4:录入产品的时候,选择相关属性。
5:调整goods.php产品详细页面,相关产品的程序。
$arr[$row['goods_id']]['goods_name']   = $row['goods_name'];
  $arr[$row['goods_id']]['goods_color']   = $row['goods_color'];
6:修改产品详细页面模板
 <select name="spec_{$spec_key}" id="spec_{$spec_key}" onchange="changePrice();changeclass(this.name);">
        <option value="no_select">请选择尺寸</option>
                          <!-- {foreach from=$spec.values item=value key=key} -->
                          <option label="{$value.label}" value="{$value.id}">{$value.label} {if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if}{if $value.price neq 0}{$value.format_price}{/if}</option>
                          <!-- {/foreach} -->
                        </select>
                        <input type="hidden" name="spec_list" value="{$key}" />
      <script>
        function changeclass(){ 
          var n = "spec_"+{$spec_key};
         var k = {$spec_key};
         var obj=document.getElementById(n);
         
         for(i=0;i<obj.length;i++){
            if(obj[i].selected==true){
            document.getElementById('color_name').innerHTML ="已选择:{$goods.goods_color_name},"+obj[i].innerText; 
            }
         }
         
       }
</script>
7:修改addToCartResponse()函数
else if(result.error == 11){
  alert(result.message);
 }
用来控制购买的时候属性的选择。
8:调整增加购物车程序
 $goods = $json->decode($_POST['goods']);
    $ar = $goods->spec;
   if($ar[0] == 'no_select'){
   
    $result['error']   = 11;
    $result['goods_id'] = $goods->goods_id;
    $result['message'] ='请选择属性';
    die($json->encode($result));
   }
控制属性的选择。
来源:中国B4C电子商务
最近更新
常用插件
- ecshop红包修改成满多少减
                                  我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强... 
- ecshop通用红包编码
                                  很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包... 
- ecshop分类树中统计商品数
                                  最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小... 
- ecshop购物车功能改进[插件
                                  ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。... 
- ecshop降价通知登记插件
                                  ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比... 



