时间:2021-05-02
由于很多用户需要加上商品自定义吃寻大小等 如图
首先在\admin\templates\goods_info.htm里面找到 属性与规格 的位置 发现他调用了{$goods_attr_html}这个页面,
这个函数的定义在\admin\goods.php 的第444行
$smarty->assign('goods_attr_html', build_attr_html($goods['goods_type'], $goods['goods_id']));
然后找build_attr_html这个函数,在\admin\includes\lib_goods.php的675行
在if语句中加上
|| $val['attr_type'] == 3
这样就可以在\admin\templates\attribute_info.htm 里面的55行
加入
input type="radio" name="attr_type" value="3" {if $attr.attr_type eq 3} checked="true" {/if} // 自定义属性
然后在添加属性的时候选中这项。
下来在前台即\themes\default\goods.dwt搜”判断属性是复选还是单选“,在循环里加入
代码如下:
现在,我们就要修改后台代码使用户输入后写入数据库中。
为了使输入数据库中时顺序不错乱,首先要修改数据库的ecs_goods_attr这个表,在末尾添加attr_itype表单,设置为int,默认为0。
下来还得去\admin\includes\lib_goods.php里面,在function build_attr_html这个函数找到
代码如下:
在这行后面紧接着添加一行
$html .= ' <input type="hidden" name="attr_itype_list[]" value="' . $val['attr_type'] . '" />' ;
现在再去\admin\goods.php 找到
代码如下:
这两行,在启后面紧接着添加一行
$attr_itype = $_POST['attr_itype_list'][$key];
再找到 注释后面的那个循环,将第一个if和其中的内容改为
代码如下:
这样就在添加商品属性的时候在数据库中把属性所属的类别附在了后面,在调用的时候可以根据类别来寻找text输入框的内容然后写入。后台部分结束,下来修改前台的用户提交部分。
首先要修改的是\js\common.js这个文件,找到function getSelectedAttributes这个函数,将之改为
代码如下:
再在function addToCart这个函数里将
goods.spec = spec_arr;
改为
goods.spec = spec_arr[0];
goods.desc = spec_arr[1];
这样,表单提交的时候就多了一个type为text的input框的值,由上述函数得知表单提交到的根目录下的flow.php文件,找到
if (addto_cart($goods->goods_id, $goods->number, $goods->spec, $goods->parent))
这句,将之改为
if (addto_cart($goods->goods_id, $goods->number, $goods->spec, $goods->parent,$goods->desc))
再到\include\lib_order.php里面,在适当位置写入下述函数
代码如下:
再去
$goods_attr = get_goods_attr_info($spec);
这行,将get_goods_attr_info($spec)改为get_goods_attr_info2($spec,$desc),即调用刚写入的那个函数并把input用户输入的东西传进去。
之后前台自行修改即可
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法。分享给大家供大家参考。具体方法如下:Smarty的标签非常多,也比较繁琐,所以Ecshop使
前几日,接到一客户的ECSHOP二次开发项目,需要在商品搜索页显示商品的货号,我想这难不倒我,不过这的修改ecshop的程序文件,确实有点麻烦,日后升级也有一点
网站二次开发是在现有的网站上进行定制修改,功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的核心功能。 二次开发,简单的说就是在现有的软件上进行
微信二次开发将企业信息、服务、活动等内容通过微信网页的方式进行表现。微信公众账号的二次开发实现了信息推送的营销工具转向用户按需所求的服务型产品,让用户自己选择是
AutoCAD软件具有如下特点: 1、具有完善的图形绘制功能。 2、有强大的图形编辑功能。 3、可以采用多种方式进行二次开发或用户定制。 4、可以进行多