ecshop问题

我后台有两个会员“个人”,“企业”,现在要让“企业”登录购买的时候,限定最低起订量;“个人”登录购买的时候没有限制,该怎么做?... 我后台有两个会员“个人”,“企业”,现在要让“企业”登录购买的时候,限定最低起订量;“个人”登录购买的时候没有限制,该怎么做? 展开
 我来答
ecshop模板中心
2013-08-21 · TA获得超过1377个赞
知道大有可为答主
回答量:2046
采纳率:0%
帮助的人:1636万
展开全部

1,先添加会员等级。一个是企业会员等级,另外一个是个人会员等级。

2,然后在后台分别指定会员等级。


3,然后打开模板目录下的goods.dwt购买按钮的这个部分。做一个判断   



       <!-- {if $key eq $smarty.session.user_rank eq 1} -->

此处是个人购买按钮,直接用ecshop默认的购买代码就可以了

       <!-- {/if} -->


     <!-- {if $key eq $smarty.session.user_rank eq 2} -->

此处是企业购买有最小起订数量的代码
       <!-- {/if} -->



4,判断中的数字1和2.是个人和企业的会员等级ID。这个可以在后台数据库中查看得到

导出一份user_rank表,打开查看各个对应的ID


  DROP TABLE IF EXISTS `ecs_user_rank`;

  CREATE TABLE `ecs_user_rank` (

  `rank_id` tinyint(3) unsigned NOT NULL auto_increment,

  `rank_name` varchar(30) NOT NULL default '',

  `min_points` int(10) unsigned NOT NULL default '0',

  `max_points` int(10) unsigned NOT NULL default '0',

  `discount` tinyint(3) unsigned NOT NULL default '0',

  `show_price` tinyint(1) unsigned NOT NULL default '1',

  `special_rank` tinyint(1) unsigned NOT NULL default '0',

  PRIMARY KEY  (`rank_id`)

  ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  INSERT INTO `ecs_user_rank` ( `rank_id`, `rank_name`, `min_points`, `max_points`, `discount`, `show_price`, `special_rank` ) VALUES  ('1', '个人', '0', '0', '100', '1', '1');

  INSERT INTO `ecs_user_rank` ( `rank_id`, `rank_name`, `min_points`, `max_points`, `discount`, `show_price`, `special_rank` ) VALUES  ('2', '企业', '0', '0', '100', '1', '1');



PS:


‘1’,‘个人’     数字1就是判断会员等级为个人的ID数字,在模板中的判断相应改一下

‘2’,‘企业’    数字2就是判断会员等级为企业的ID数字,在模板中的判断相应改一下

追问

"这个可以在后台数据库中查看得到导出一份user_rank表,打开查看各个对应的ID"

这句话是什么意思?不太明白

按你上面的方法,打开网页是这样的

追答
后台数据库管理-数据备份-选择自定义备份-然后备份ecs_user_rank表。
备份完了以后,打开data目录下的sqldata ,文件夹里就生成了一个.sql文件 打开这个文件就能看到了
ecmoban模板堂
2013-08-22 · TA获得超过770个赞
知道大有可为答主
回答量:2259
采纳率:66%
帮助的人:897万
展开全部
最小起订数的修改方法:

做过商城,或者说经营过商城的都会知道,有很多商品利润很小,而且还要包运费什么的,所以根本就是做亏本的生意,如果利润小,数量多的话
这样就不会出现赔本的损失。所以 今天第一个插件也是很实用的插件就是如果在后台设置商品最小起订量

第一步,商品表必须有个字段 代表某个商品最小订购数量->min_number

打开goods表
在最后字段添加一个min_number tinyint类型默认值为0 代表没有最小起订量

sql:alter table `goods` add column `min_number` tinyint (3)
UNSIGNED DEFAULT '0' NOT NULL after `warn_number`

第二部,在后台添加商品的时候 必须有个text文本框 设置最小起订量

admin/goods.php

在'warn_number'=> 1 , 代码行后插入'min_number'=> 0,

在$warn_number = isset($_POST['warn_number']) ? $_POST['warn_number'] : 0;

后添加代码$min_number = isset($_POST['min_number']) ? $_POST['min_number'] :
0;

第三部 修改添加商品sql语句

修改代码

if
($is_insert){

if ($code == ''){

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

"cat_id, brand_id,
shop_price, market_price, is_promote, promote_price, "
.

"promote_start_date, promote_end_date, goods_img, goods_thumb,
original_img,keywords, goods_brief, " .

"seller_note, goods_weight, goods_number, warn_number,min_number,
integral,give_integral, is_best, is_new, is_hot,
".

"is_on_sale, is_alone_sale, goods_desc, add_time, last_update,
goods_type,rank_integral)" .

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

"'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price',
".

"'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb',
'$original_img', ".

"'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]',
'$goods_weight','$goods_number',".

"'$warn_number','$min_number', '$_POST[integral]', '$give_integral', '$is_best',
'$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale',
".

"'$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."',
'$goods_type','$rank_integral')";

}else{

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

"cat_id, brand_id, shop_price,
market_price, is_promote, promote_price, "
.

"promote_start_date, promote_end_date, goods_img,
goods_thumb, original_img,keywords, goods_brief, "
.
"seller_note,
goods_weight, goods_number, warn_number, min_number,integral,give_integral,
is_best, is_new, is_hot, is_real, " .

"is_on_sale, is_alone_sale, goods_desc, add_time,
last_update, goods_type,extension_code, rank_integral)"
.
"VALUES
('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', "
.
"'$brand_id',
'$shop_price', '$market_price', '$is_promote','$promote_price',
".

"'$promote_start_date', '$promote_end_date', '$goods_img',
'$goods_thumb','$original_img', ".

"'$_POST[keywords]', '$_POST[goods_brief]',
'$_POST[seller_note]',
'$goods_weight','$goods_number',".

" '$warn_number','$min_number', '$_POST[integral]',
'$give_integral', '$is_best','$is_new', '$is_hot', 0, '$is_on_sale',
'$is_alone_sale’' ".

" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime()
."', '$goods_type', '$code',
'$rank_integral')";

}

}else{

$sql = "SELECT
goods_thumb, goods_img, original_img " .

" FROM " . $ecs->table('goods') .

" WHERE goods_id =
'$_REQUEST[goods_id]'";
$row =
$db->getRow($sql);
if
($proc_thumb && $goods_img && $row['goods_img']
&&

!goods_parse_url($row['goods_img']))

{

@unlink(ROOT_PATH .
$row['goods_img']);

@unlink(ROOT_PATH .
$row['original_img']);

}
if ($proc_thumb &&
$goods_thumb && $row['goods_thumb'] &&
!goods_parse_url($row['goods_thumb']))

{

@unlink(ROOT_PATH .
$row['goods_thumb']);

}
$sql = "UPDATE " .
$ecs->table('goods') . " SET " .

"goods_name = '$_POST[goods_name]', "
.
"goods_name_style
= '$goods_name_style', " .

"goods_sn = '$goods_sn', " .

"cat_id = '$catgory_id', "
.
"brand_id =
'$brand_id', " .

"shop_price = '$shop_price', " .

"market_price = '$market_price', "
.
"is_promote =
'$is_promote', " .

"promote_price = '$promote_price', "
.

"promote_start_date = '$promote_start_date', "
.
"promote_end_date
= '$promote_end_date', ";

if
($goods_img)

{

$sql .= "goods_img = '$goods_img', original_img =
'$original_img', ";

}
if
($goods_thumb)

{

$sql .= "goods_thumb = '$goods_thumb',
";

}
if
($code != '')

{

$sql .= "is_real=0, extension_code='$code',
";

}
$sql .=
"keywords = '$_POST[keywords]', "
.

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

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

"goods_weight = '$goods_weight',"
.

"goods_number = '$goods_number', "
.

"warn_number = '$warn_number', "
.

"min_number = '$min_number', "
.

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

"give_integral = '$give_integral', "
.

"rank_integral = '$rank_integral', "
.

"is_best = '$is_best', "
.
"is_new
= '$is_new', " .

"is_hot = '$is_hot', "
.

"is_on_sale = '$is_on_sale', "
.

"is_alone_sale = '$is_alone_sale', "
.

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

"last_update = '". gmtime() ."',
".

"goods_type = '$goods_type' "
.
"WHERE
goods_id = '$_REQUEST[goods_id]' LIMIT 1";

}
第四步修改后台模板文件(在市场价会员价
后边添加设置最小起订量)
admin/templates/goods_info.htm

<tr>
<td
class="label">{$lang.lab_shop_price}</td>
<td><input
type="text" name="market_price" value="{$goods.shop_price}" size="20"
/>
<input
type="button" value="{$lang.integral_market_price}"
onclick="integral_market_price()"
/>{$lang.require_field}</td>
</tr>

添加
<!-- 新增 批发数量限制 begin
-->
<tr>
<td
class="label">{$lang.lab_min_number}</td>
<td><input
type="text" name="min_number" value="{$goods.min_number}" size="20"
/>

<span class="notice-span" {if $help_open}style="display:block" {else}
style="display:none" mce_style="display: none;" {/if}
id="minNumber">{$lang.notice_min_number}</span>

</td>

</td>
</tr>
<!-- 批发数量限制
end -->

第五步:修改语言languages/zh_cn/admin/goods.php

最后添加
$_LANG['lab_min_number']
= '最小购买数量:';
$_LANG['notice_min_number'] =
'该商品最小购买数量,0表示按购买数量无限制.'

到现在位置 后台设置全部结束了,不知道大家能懂了没有

下面我门说说前台如何来实现

我以default模板为例子给大家讲解

想做起订量限制,这个必然是在商品购买页面 购买数量框来做限制最简单的办法就是用JS当然还有别的办法

首先给那些如果给了起订量的商品 购买页面直接显示默认最少购买数量

如果在后台设置的AA商品最少5个 那么进入AA商品页面购买数量默认值就是5

我这样来实现

修改themes/default/goods.dwt
<input name="number" type="text" id="number"
value="1" size="4" onBlur="changePrice()" style="border:1px solid #ccc; "
mce_style="border: 1px solid #ccc;"/>
改成
<input name="number"
type="text" id="number" value="{$goods.min_number|default:"1"}" size="4"
onblur="changePrice()" style=”border:1px solid #ccc; " mce_style="border: 1px
solid #ccc;"/><br />
这样就是value 也就是默认值了

最后添加JS判断就好了

themes/default/goods.dwt


var qty =
document.forms['ECS_FORMBUY'].elements['number'].value;
后添加
{if
$goods.min_number}
if(qty <
{$goods.min_number})
{
alert('您输入的数字小于此商品最小购买数量:{$goods.min_number}');
qty
= {$goods.min_number};
}
{/if}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式