ECSHOP 在哪里设置 在页面隐藏和显示 库存数量?

ECSHOP 在哪里设置 在页面隐藏和显示 库存数量?,第1张

其实不用修改代码,只要后台开关就行。

如下截图:

后台系统设置 - 商店设置 - 是否显示库存

那里开关直接控制就行,后台控制前台非常方便,无需修改代码

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 = 0i<t.parentNode.childNodes.lengthi++) {

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))

}

通过以上 *** 作便可实现淘宝类似功能,有关点击购物车d出层效果

http://www.aspku.com/cms/ecshop/4314.html

为每个商品设置最少购买量最小订购量

1)、

首先需要修改ECSHOP的数据库结构

进入 后台 》数据库管理 》SQL查询,执行下面SQL语句,注意将 “ecs_” 改成你的数据库前缀

ALTER TABLE `ecs_goods` ADD `min_buynum` INT( 1NULL '0'

2)、

修改 /admin/templates/goods_info.htm

{if $suppliers_exists eq 1}

上边增加代码

<tr>

<td class="label">最小起订数</td>

<td><input type="text" name="min_buynum" value="{$goods.min_buynum}"/></td>

</tr>

3)、

修改 /admin/goods.php

找到(注意:一共能找到两处,都要修改才行)

$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .

将之修改为

$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, min_buynum, " .

继续,找到(注意:一共能找到两处,都要修改才行)

"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .

将之修改为

"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$_POST[min_buynum]', '$catgory_id', " .

继续向下,找到

"goods_sn = '$goods_sn', " .

在它下面增加一行代码

"min_buynum = '$_POST[min_buynum]', " .

至此,后台部分修改完毕,下面开始修改前台部分

4)、

这里以官方默认模板为例进行讲解,其他模板请自行对照修改

打开文件 /themes/default/goods.dwt

<input name="number" type="text" id="number" value="1" size="4" style="border:1px solid #ccc"/>

修改为

<input name="number" type="text" id="number" value="{$goods.min_buynum|default:"1"}" size="4" style="border:1px solid #ccc"/>

继续向下,找到

var qty = document.forms['ECS_FORMBUY'].elements['number'].value

在它下边增加一段代码

<!--{if $goods.min_buynum}-->

if(qty<{$goods.min_buynum})

{

alert('对不起,本商品最小起订数为:{$goods.min_buynum}')

qty={$goods.min_buynum}

}

<!--{/if}-->

5)、

打开文件 /flow.php

找到

$sql = "SELECT g.goods_name, g.goods_number ".

修改为

$sql = "SELECT g.goods_name, g.goods_number, g.min_buynum ".

找到

//查询:系统启用了库存,检查输入的商品数量是否有效

在它上边增加

/* 比较购买数量与最小起定数*/

if($row['min_buynum']>$val)

{

show_message(sprintf('对不起,您选择的商品%s,最小起订数%d件。',

$row['goods_name'],$row[' min_buynum']),'返回购物车','?step=cart')

exit

}

转载请注明:68ECshop模板(全国最专业的ECSHOP模板制作商)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11079679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存