ecshop问题

作者&投稿:永盆 (若有异议请与网页底部的电邮联系)
求ecshop对高并发情况支持太差的解决方法。ecshop在高并发访问的情况下很容易出现各种各样的问题,求解!~

没办法,不好解决,ecshop本身性能不是太好,只适合在访问量比较小的站点上使用,并发访问量大了系统就容易崩溃,当然,你可以找ecshop官方提供一下技术支持,但价格可能非常昂贵!

这样操作就麻烦了呢。还不如直接修改page_header.lbi文件,将网店代理部分的代码直接换成一些标签,固定上相应的链接和文字就可以了。


至于自己设置的内容页面,可以考虑用后台促销管理中的专题页面来实现

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数字,在模板中的判断相应改一下



最小起订数的修改方法:

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

第一步,商品表必须有个字段 代表某个商品最小订购数量->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}


英语语法C
做形容词? 不会吧 跟在has后面应该是done啊?3,open 这个词到底有没有被动?答:填has been open 译:这工厂开了有十年了。析:其实这个动词用于“开工厂”并不妥,应用run. 也不是这个句型。给套进去了,没有办法。一般说一个公司开张,可用open, 商店开门做生意,可用它:The shop opens at...

sqlserver 利用sum求和时,sum时相同的id值加一次
你这个需求很不明确 如果只是按id来汇总,直接group by id就可以 如果想跳开相同AID,可以用distinct关键字跳开就行

Many students know what they want to be in the future* . We thi...
小题1:D小题2:D小题3:C小题4:A小题5:D 小题1:细节理解题,根据文中语句“Many students know what they want to be in the future”理解可知。小题2:细节理解题,根据图表中第五组柱状图理解可知。小题3:细节理解题,根据图表中第四组柱状图理解可知。小题4:细节理解题,根据图表中第...

C语言编程
C语言编程  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚...void init_book_shop(){ memset(book, 0, sizeof(book));}void show_menu(){ printf("---图书销售系统菜单---\\n"); printf("--- 1.图书信息...

cchocolateshop怎么用
1、在浏览器中输入cchocolateshop的网址,在手机上打开相应的应用程序。2、进入cchocolateshop的网站应用程序后,可以浏览各种巧克力产品的选择。

英语问题 便利店英文怎们说
convenience store.例句:I like shopping in the convenience store near my home.我喜欢在我家附近的那家便利店购物。store的用法 1、释义 n. 商店;储备,贮藏;仓库 vt. 贮藏,储存 2、例句 You can to my home, and we go to the store together.你可以先到我们家来,然后我们一起去商店。

电脑蓝屏,shop: 0X0000007E (0XC0000005,0XB8238756,0XB84CF42C,0XB8...
蓝屏的主要原因:一般由硬件内存及软件系统引起。多数是因系统软件原因造成,其中由【病毒】引起居多。★解决方法:【1】使用于360安全卫士等,修补系统漏洞。【2】检查系统中是否有木马或病毒。建议:使用杀毒软件升级最新病毒库对电脑进行全盘查杀。【3】应该检查硬件是否插牢,这个被许多人忽视的问题往往...

英语疑难问题
C中同样缺少to,或者把whom前的for改成to才可以;A中who to turn to为“不定式 + 疑问词”结构,它的确也可以做定语修饰no one else,但是此时的介词to不能放后,必须用to whom to turn.所以,正确答案为B。即关系代词whom\/who代替先行词no one else,在定语从句she can turn to中充当介词to的...

如何看自己电脑中有chotoshop
比较准确的方法有两种:1.打开控制面板,选择“添加或删除程序”,假如安装了photoshop软件,程序列表中会出现“Adobe Photoshop”.2.如果安装photoshop时采用默认设置,那么可以到C盘的C:\\Program Files\\Adobe文件夹里查看。photoshop不是系统自带的软件,需要另外安装。

()The shop ___every day .It ___from8 a.m to 8 p.m A opens,opens B...
The shop opens everyday. It is open from 8 a.m to 8 p.m.选C 第一空open作动词 第二空be open 表示“开放的,营业的”,这里的open是形容词

西和县19170367153: ecshop问题 -
尚轮丽科: 第一个问题,秒杀是需要开发的,估计要建立一张表 第二个问题,compaer.js看看有没有调用,或者是不是加了jq出现了兼容问题,这个需要逐一排查

西和县19170367153: 关于ECSHOP错误问题 -
尚轮丽科: 1. ecshop在PHP 5.4以上版本会报错,建议你找虚拟机或者空间服务商 装低版本的php吧.2. 如果不愿意装低版本的话.请看第三.3. 将 $tag_sel = array_shift(explode(' ', $tag)); 这句话拆开为两句.$tag_arr = explode(' ', $tag);$tag_sel = array_shift($tag_arr);

西和县19170367153: ecshop常见问题MySQL server error report:Array -- ecshop错误 -
尚轮丽科: 这是说你的数据库new里没有ecs_setup_keyword这张表,如果这个是ecshop自带的表,那你在自己机器上安装一个ecshop,看一下建表的ddl,然后去在服务器数据库里建立这张表.如果不是ecshop默认表,那么就是你安装的某些插件问题了.只能自己排除是哪个插件的问题.与插件提供方联系

西和县19170367153: ecshop图片上传不显示或失败的几种可能性 -
尚轮丽科: 有一些客户反映,上传图片之后缩略图或者详细图显示不出.效果如下:我们ecshop模板堂为大家整理了一下各种可能性,看看是不是可以解决这个问题 第一种情况,图片格式问题:因为ecshop默认程序支持的图片格式一般为 jpg,gif,png等格...

西和县19170367153: ECSHOP的时间问题 -
尚轮丽科: 打开ecshop的data目录,下面有config.php这个文件,用编辑器打开,如果没有编辑器,可以用记事本打开.然后找到 $timezone = "UTC";这行,把UTC换成 PRC,然后保存就可以换成中国的时间了.如果有不清楚的地方可以继续提问

西和县19170367153: ecshop怎么会出错呢 -
尚轮丽科: 这是数据库出错了,修复一下数据库试试

西和县19170367153: ecshop出错,求高手帮忙解决下,本人完全小白 -
尚轮丽科: ecs_order_info表出错,你用默认的ecs_oder_info表重新执行下看看

西和县19170367153: ECSHOP网站打不开了出现如下提示?请高手帮忙解决 -
尚轮丽科: 这个报错是数据库问题,估计是你修改了什么程序导致的,建议你重新覆盖ecshop默认程序看看是不是可以解决.

西和县19170367153: 用ecshop系统遇到这种问题怎么办?
尚轮丽科: 这个可能是显示商品图片那个层的宽度过宽,撑开的原因,你可以在样式表里,试着修改相应的数值

西和县19170367153: 我安装ecshop的时候出现了这个问题了?
尚轮丽科: 第406行:$tag_sel = array_shift(explode(' ', $tag)); 解决办法 1 5.3以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: $tag_arr = explode(' ', $tag); $tag_sel = array_shift...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网