Ecshop Ecmall Smarty 模板
ECMall二次开发
【2010-12-21】将重启ECMall的二次开发,版本为ecmall221-0928-scutf8-20101214 对台网http://www.duitw.com
【2010-12-22】有点忙,进度可能会慢一点。
【2010-12-25】
【2011-05-01】市场价,重量,快递费按重量计算。
余额支付
商品积分
市场价,商品重量,限制每单购买数量
统一支付宝
合并支付,发货
邀请好友 返利或者返积分
快递费,更主要针对于同城,按重量计算快递费
广告追踪
邮件追踪,
浏览追踪,
购物车追踪。
余额,
积分,
每日登录领取积分/金币
【2010-12-21】将重启ECMall的二次开发,版本为ecmall221-0928-scutf8-20101214 对台网http://www.duitw.com
【2010-12-22】有点忙,进度可能会慢一点。
【2010-12-25】
【2011-05-01】市场价,重量,快递费按重量计算。
余额支付
商品积分
市场价,商品重量,限制每单购买数量
统一支付宝
合并支付,发货
邀请好友 返利或者返积分
快递费,更主要针对于同城,按重量计算快递费
广告追踪
邮件追踪,
浏览追踪,
购物车追踪。
余额,
积分,
每日登录领取积分/金币
ecmall 结构图
ecmall/eccore /ecmall.php
常量:
define('START_TIME', ecm_microtime());
/* 判断请求方式 */
define('IS_POST', (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST'));//判断请求方式是不是post传来的.
/* 判断请求方式 */
define('IN_ECM', true);
/* 定义PHP_SELF常量 */
define('PHP_SELF', htmlentities(isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']-));
/* 当前ECMall程序版本 */
define('VERSION', '2.2 beta');
/* 当前ECMall程序Release */
define('RELEASE', '20091230');
ecmall/eccore /ecmall.php
常量:
define('START_TIME', ecm_microtime());
/* 判断请求方式 */
define('IS_POST', (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST'));//判断请求方式是不是post传来的.
/* 判断请求方式 */
define('IN_ECM', true);
/* 定义PHP_SELF常量 */
define('PHP_SELF', htmlentities(isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']-));
/* 当前ECMall程序版本 */
define('VERSION', '2.2 beta');
/* 当前ECMall程序Release */
define('RELEASE', '20091230');
让php定时运行备份mysql!
相信不少读者(PHP爱好者)在工作、学习的过程中经常抱怨:在WIN如何让PHP定时自动发信呢??如何让MYSQL实现自动备份而无后顾之忧呢??如果完全依靠手工进行当然也可以实现,但操作上似乎过于繁琐了一点!别着急,利用系统的任务计划程序(Windows 98称之为计划任务)可轻易解决这一问题。这一功能往往被很多用户忽略或者未曾想到:)。
相信不少读者(PHP爱好者)在工作、学习的过程中经常抱怨:在WIN如何让PHP定时自动发信呢??如何让MYSQL实现自动备份而无后顾之忧呢??如果完全依靠手工进行当然也可以实现,但操作上似乎过于繁琐了一点!别着急,利用系统的任务计划程序(Windows 98称之为计划任务)可轻易解决这一问题。这一功能往往被很多用户忽略或者未曾想到:)。
如何看待PHP Strict Standards错误
前天无意修改了php.ini关于错误输出的设置,今天测试一个Ecmall开发的项目时竟然发现多了几条错误提示,虽然不是致命的但也不能忽视。
错误的描述大概如下:
Strict Standards: Redefining already defined constructor for class Object in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 109
Strict Standards: Non-static method ECMall::startup() should not be called statically in E:\XmiServer\wwwRoot\zhijia\ecmall\install\index.php on line 18
Strict Standards: Redefining already defined constructor for class BaseApp in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\controller\app.base.php on line 19
Strict Standards: Assigning the return value of new by reference is deprecated in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\controller\app.base.php on line 141
Strict Standards: Redefining already defined constructor for class BaseModel in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\model\model.base.php on line 62
Strict Standards: Redefining already defined constructor for class InstallerApp in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 35
Strict Standards: Non-static method Lang::load() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 38
Strict Standards: Non-static method Lang::fetch() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 217
Strict Standards: Redefining already defined constructor for class ecsTemplate in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\view\template.php on line 49
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 215
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 220
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 221
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
大概扫了几眼,看到基本上是ECMALL框架的错误,在Google中搜索相关错误信息时发现其它框架也存在这种通病,无耐。。。
只好认真看了看错误的解释,我理解的是:程序没有按照PHP严格规定的模式编写而给的警告。想到这点于是自己又测试了几个以前写的小程序,有的也会出现这个错误。看来以后自己得注意自己的编码规范,不能一味的追求功能…
由于当前项目要进行调试,遂又将php.ini错误输出重新定义为:error_reporting = E_ALL。将E_STRICT去掉了,重启Apache…一切如常….
前天无意修改了php.ini关于错误输出的设置,今天测试一个Ecmall开发的项目时竟然发现多了几条错误提示,虽然不是致命的但也不能忽视。
错误的描述大概如下:
Strict Standards: Redefining already defined constructor for class Object in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 109
Strict Standards: Non-static method ECMall::startup() should not be called statically in E:\XmiServer\wwwRoot\zhijia\ecmall\install\index.php on line 18
Strict Standards: Redefining already defined constructor for class BaseApp in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\controller\app.base.php on line 19
Strict Standards: Assigning the return value of new by reference is deprecated in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\controller\app.base.php on line 141
Strict Standards: Redefining already defined constructor for class BaseModel in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\model\model.base.php on line 62
Strict Standards: Redefining already defined constructor for class InstallerApp in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 35
Strict Standards: Non-static method Lang::load() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 38
Strict Standards: Non-static method Lang::fetch() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 217
Strict Standards: Redefining already defined constructor for class ecsTemplate in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\view\template.php on line 49
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 215
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 220
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
Strict Standards: Non-static method Lang::get() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\install\app\installer.base.php on line 221
Strict Standards: Non-static method Lang::_valid_key() should not be called statically, assuming $this from incompatible context in E:\XmiServer\wwwRoot\zhijia\ecmall\eccore\ecmall.php on line 175
大概扫了几眼,看到基本上是ECMALL框架的错误,在Google中搜索相关错误信息时发现其它框架也存在这种通病,无耐。。。
只好认真看了看错误的解释,我理解的是:程序没有按照PHP严格规定的模式编写而给的警告。想到这点于是自己又测试了几个以前写的小程序,有的也会出现这个错误。看来以后自己得注意自己的编码规范,不能一味的追求功能…
由于当前项目要进行调试,遂又将php.ini错误输出重新定义为:error_reporting = E_ALL。将E_STRICT去掉了,重启Apache…一切如常….
Linux上安装完ECMall后所有页面都是空白的解决办法
install目录下面的安装文件,根据提示设置相关目录权限(Linux下面设置为777,Windows下面设置读写权限),一切ok,但是安装完之后无论是前台还是后台,所有的页面都是空白。
详细原因是temp目录下面有caches文件夹,这个目录也要设置777,然后刷新前台页面,这次出现东西了,不过有很多错误,把temp目录下面的所有的文件夹都设置为777,然后再刷新,就没有什么问题了,打开后台页面也都正常了。
install目录下面的安装文件,根据提示设置相关目录权限(Linux下面设置为777,Windows下面设置读写权限),一切ok,但是安装完之后无论是前台还是后台,所有的页面都是空白。
详细原因是temp目录下面有caches文件夹,这个目录也要设置777,然后刷新前台页面,这次出现东西了,不过有很多错误,把temp目录下面的所有的文件夹都设置为777,然后再刷新,就没有什么问题了,打开后台页面也都正常了。
CGI Timeout的解决办法
搭建好服务后访问时出现下面的问题:
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.
解决方案:更改ISS服务器的执行权限。
执行权限可以改为无或者纯脚本。

搭建好服务后访问时出现下面的问题:
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.
解决方案:更改ISS服务器的执行权限。
执行权限可以改为无或者纯脚本。
到数据库里面找到 ecm_goods这张表 然后添加字段market_price
在languages/sc-utf-8/common.lang.php 添加 语言 'market_price' => '市 场 价','login_visitor' => '登录可见',
在根目录app/my_goods.app.php
查找 function _get_post_data 大概1663行
在'tags' => trim($_POST['tags']), 下面添加
'market_price' =>floatval($_POST['market_price']),
查找 $goods_info = array 大概在1638行
在 'price' => 1, 上面添加
'market_price' =>'',
完成以上步骤后, 调用的代码是{$lang.market_price}:
{$goods.market_price|price}
商品详细页面那 市场价的展示,你们自己加上面的代码...
继续 在themes/mall/default/my_goods.form.html
大概 70行 找到
price : {
number : true
},
在这句话的上面添加
market_price : {
number : true
}, //判断市场价只能为数字;
这个页面 100行左右(其实就在上面代码的下面一点点) 找到
price : {
number : '{$lang.number_only}'
},
在这句话的上面添加
market_price : {
number : '{$lang.number_only}' //输出错误提示信息
},
再这个页面 287行左右 找到
=================
登录可见
在languages/sc-utf-8/common.lang.php 添加 语言 'market_price' => '市 场 价','login_visitor' => '登录可见',
在根目录app/my_goods.app.php
查找 function _get_post_data 大概1663行
在'tags' => trim($_POST['tags']), 下面添加
'market_price' =>floatval($_POST['market_price']),
查找 $goods_info = array 大概在1638行
在 'price' => 1, 上面添加
'market_price' =>'',
完成以上步骤后, 调用的代码是{$lang.market_price}:
{$goods.market_price|price}
商品详细页面那 市场价的展示,你们自己加上面的代码...
继续 在themes/mall/default/my_goods.form.html
大概 70行 找到
price : {
number : true
},
在这句话的上面添加
market_price : {
number : true
}, //判断市场价只能为数字;
这个页面 100行左右(其实就在上面代码的下面一点点) 找到
price : {
number : '{$lang.number_only}'
},
在这句话的上面添加
market_price : {
number : '{$lang.number_only}' //输出错误提示信息
},
再这个页面 287行左右 找到
<li>
<h2 ectype="no_spec">{$lang.price}: </h2>
在它的上面 添加 <h2 ectype="no_spec">{$lang.price}: </h2>
<li>
<h2 ectype="no_spec5">{$lang.market_price}: </h2>
<div class="arrange" ectype="no_spec5"><input name="market_price" value="{$goods.market_price}" type="text" class="text width_short" /></div>
</li>
<h2 ectype="no_spec5">{$lang.market_price}: </h2>
<div class="arrange" ectype="no_spec5"><input name="market_price" value="{$goods.market_price}" type="text" class="text width_short" /></div>
</li>
=================
登录可见
<!--{if $visitor.user_id}--><span class="fontColor3" ectype="goods_price">{$goods._specs.0.price|price}</span><!--{else}--><span><a href="{url index.php?app=member&act=login&ret_url=}">{$lang.login_visitor}</a></span><!--{/if}--><br />
ECSHOP 出现 XMlHttpRequest status:[500] Unknow status 这个错误啊?



2010
21:56
44328
3


