ECShop仿淘宝商品详细页 实现尺码颜色关联显示库存

飘逸的风13年前 (2012-11-21)程序7528

  ecshop服装商城很多都十分需要一个颜色尺码的功能,其实在淘宝,凡客上都类似的功能,客户在下单时选容易选择相应的颜色尺码,其实ecshop要实现这样的功能并不难,因为ecshop是开源免费的。

 

  效果如下:

  实现方法,修改goods.dwt如下:

<!-- {foreach from=$spec.values item=value key=key} --> <a {if $key eq 0}class="cattsel"{/if} onclick="changeAtt(this,{$value.id},{$goods.goods_id})" href="javascript:;" name="{$value.id}" title="[{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}]">{$value.label}<input style="display:none" id="spec_value_{$value.id}" type="radio" name="spec_{$spec_key}" value="{$value.id}" {if $key eq 0}checked{/if} /></a> <!-- {/foreach} -->

  在显示详细信息合适的地方加

<font style=" color:#CCCCCC;">(库存:<font id="shows_number">{$goods.goods_number} {$goods.measure_unit}</font></font>

  这是动态加载库存的地方

  选择打钩这个样式论坛有人发过 也不是很难 我不在详细贴出

  在goods.dwt加js代码:

function changeAtt(t,a,goods_id) { t.lastChild.checked='checked'; for (var i = 0; i<t.parentNode.childNodes.length;i++) { if (t.parentNode.childNodes[i].className == 'cattsel') { t.parentNode.childNodes[i].className = ''; } } t.className = "cattsel"; var formBuy = document.forms['ECS_FORMBUY']; spec_arr = getSelectedAttributes(formBuy); Ajax.call('goods.php?act=get_products_info', 'id=' + spec_arr+ '&goods_id=' + goods_id, shows_number, 'GET', 'JSON'); changePrice(); } function shows_number(result) { if(result.product_number !=undefined) { $('shows_number').innerHTML = result.product_number+'件'; } else { $('shows_number').innerHTML = '未设置' } }

  打开goods.php添加70行左右添加

if (!empty($_REQUEST['act']) && $_REQUEST['act'] == 'get_products_info') { include('includes/cls_json.php'); $json = new JSON; // $res = array('err_msg' => '', 'result' => '', 'qty' => 1); $spce_id = $_GET['id']; $goods_id = $_GET['goods_id']; $row = get_products_info($goods_id,explode(",",$spce_id)); //$res = array('err_msg'=>$goods_id,'id'=>$spce_id); die($json->encode($row)); }

  通过以上操作便可实现仿淘宝颜色尺码选择功能。

相关文章

1亿条数据在PHP中实现Mysql数据库分表100张

当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。 首先创建100张表: 英文代码 $i=0; whi...

二十一个实用便利的PHP代码摘录

1. PHP可阅读随机字符串 此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。 /************** *@length - length of rand...

preg_replace 修饰符

  PatternModifiers-规则表达式的修饰符      下面是当前规则表达式里可用的修饰.括号内的名字是那些修饰符的内部PCRE名字.      i(PCRE_CASELESS)...

Javascript 正则表达式使用手册

一.正则表达式匹配常用语法 “+”字符:规定表达式字符出现一次或多次。 “*”字符:规定表达式字符出现零次或多次。 “?”字符:规定表达式字符出现零次或一次。 ^ 匹配的是字符的开头 ,匹配的...

ECShop设置模板的原理以及一些模板设置函数说明(个人观点)

ECShop设置模板的原理以及一些模板设置函数说明(个人观点) admin/includes/lib_template.php 一些函数及变量说明 $template_files...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。