ECshop 页面修改及出错处理方法基础知识(第一部分)
来源:互联网 发布:神盾内网管理软件 编辑:程序博客网 时间:2024/06/09 13:39
ECshop 页面修改及出错处理方法基础知识(第一部分)
(2013-05-20 17:04:32)用户注册地址:user.php?act=register
模板地址:themes\yige(模板目录)目录下的user_passport.dwt 文件。
在 user_passport.dwt文件中,{$lang.label_username} 类似这样的文字,所在的位置:languages\zh_cn 目录下的user.php 文件。
目录 languages下面,是网店所需的语言包。
======================================================================================
2.ecshop 用户中心user.php页面的文字修改
网站根目录下,找到:languages\zh_cn\user.php
中文的修改,估计都在这个目录下面:languages\zh_cn\
============================================================================
3.ecshop等级积分与消费积分的简单解释
ecshop,积分分为:等级积分、消费积分两种。
等级积分:后台–>会员管理–>会员等级,添加设置不同等级的会员,所享有的折扣率。这里是根据等级积分的高低区分的。
消费积分:够买产品可以获得消费积分,同时也可以用积分顶替RMB使用。
会员中心的“我的推荐”,每推荐1个用户完成注册,即可获得等级积分 2的奖励。
=========================================================================
4.ecshop推荐注册赠送的等级积分修改为消费积分
2011年7月18日
ecshop推荐注册,默认的是赠送等级积分,特殊情况下需要将赠送的等级积分修改为消费积分。
修改如下:
1、打开文件:includes/lib_passport.php
2、找到下面代码:
代码中:0,0,$affiliate['config']['level_register_all'],0这上面的数字分别表示:可用资金、冻结资金、等级积分、消费积分,因此修改为:0,0,0,$affiliate['config']['level_register_all'],即可实现。
===============================================================
5.ecshop模板文件的含义
user.php包含:themes\default\
=================================================================
ecshop2.7.2 页面随机出现Powered by ECShop的解决方法
在制作ecshop模板的时候,出现了奇怪的现象:页面随机出现Powered byECShop,网上搜了下很轻易的解决了。
这个随机出现的,所有页面里面已经没有Powered by ECShop这几个字母,页面里面加上带官方网址链接的Poweredby ECShop,随机出现的就不会出现了。可见,是为了保护版权吧。
解决方法:
打开文件:js/common.js
删除244行到354行的一个“夺宝奇兵会员出价反馈”函数即可解决。
这样删除之后,估计夺宝奇兵就不能用了,有更好的方法吗?
================================================================
6.ecshop 调用自定义的广告 (函数版)
ecshop中关于广告的调用方法,网上有很多,现在要介绍的不同于其他,根据实际情况选择使用,以首页调用为例:
1、index.php页面添加调用函数:
function index_ad_diy()
{
$sql = ‘SELECT * FROM ‘ .$GLOBALS['ecs']->table(‘ad’) . ‘ ORDER BY end_timeasc’;
$res =$GLOBALS['db']->getAll($sql);
$arr =array();
foreach($res AS $idx => $row)
{
$arr[$idx]['id'] = $row['ad_id'];
$arr[$idx]['title'] = $row['ad_name'];
$arr[$idx]['imglink'] = $row['ad_link'];
$arr[$idx]['imgcode'] = $row['ad_code'];
}
return$arr;
}
2、index.php页面添加解析模板的代码
查找代码:assign_template();
在里面增加:
$smarty->assign(‘ad_diy’, index_ad_diy()); // 自定义广告位调用
3、themes\mjmn\当前模板文件夹\index.dwt
在需要循环调用广告图片的位置添加代码:
1.<!–{foreachfrom=$ad_diy item=diyAd}–>
2.<li>
3.<div><A title=”"href=”{$diyAd.imglink}” target=_blank>4.{$diyAd.title|escape:html}</A><p></p></div>
5.<div><A id=vstagbthref=”{$diyAd.imglink}”target=_blank><IMG6.src=”{$diyAd.imgcode}”></A></div>
7.<div><Atitle=”{$diyAd.title|escape:html}” href=”"target=_blank>8.{$diyAd.title|escape:html}</A></div>
9.</li>
10.<!–{/foreach}–>
删除代码前的数字。
OK!功能成功实现。
此功能源于公司的1位客户,宅罗曼的商城系统,首页要求的图片较多,尺寸问题不能直接调用上传的,就全部做成了广告位的形式。
======================================================================
7.ecshop的jquery,jqzoom,transport.js冲突 问题解决(麻烦版)
ecshop里面jquery与transport.js文件冲突是众所周知的,这里提供的方案,不是最完美的,是在网上提出的解决方案的基础上整理的。
是这样的,保留原来的transport.js,发生冲突的页面调用修改过的transportGoods.js,这样就避免了修改所有js文件的麻烦;函数方面,保留原来的函数,调用出错的函数,重新复制一个,起个新的函数名。
不喜欢这种方式的,下面的可以忽略了,没有什么技术含量,总结了一下。
页面:goods.dwt
效果:放大镜
所用插件:jquery图片放大镜效果插件 jqzoom
症状一:jquery与transport.js文件冲突
思路分析:两者都定义了$,导致发生冲突
实施方案:详细的分析网上有很多,这里只上传已配置好的transport.js文件(文件名重命名为:transportGoods.js),感兴趣的百度下详细的配置。
解决步骤:
- 下载transportGoods.js到js目录下
- 在goods.dwt页面,适当的位置调用一下就好:
{insert_scriptsfiles=’transportGoods.js’}
至此,放大镜效果完美解决了。
症状二:在线购买失效,报错:
错误: goods.toJSONString is not a function
源文件:http://127.0.0.1/js/common.js
行:34出错地方的代码:Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ +goods.toJSONString(), addToCartResponse, ‘POST’,‘JSON’);
思路分析:goods.dwt页面调用的是修改后的transportGoods.js文件,导致toJSONString函数找不到。
解决步骤:
1、对比transport.js与transportGoods.js的352行
legalParams = “JSON=” + params.toJSONString(); //transport.js
legalParams = “JSON=” + objToJSONString(params);//transportGoods.js
2、common.js文件的34行:
Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ +goods.toJSONString(),addToCartResponse, ‘POST’, ‘JSON’);
3、分析1、2中的红色代码区,修改common.js的34行为:
Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + objToJSONString(goods), addToCartResponse,‘POST’, ‘JSON’);
4、至此,证明方法可行,但是其他地方的Ajax.call就会出错,在线购买调用的是common.js里面的addToCart()函数,复制一份,重命名为:addToCartGoods(),修改里面的Ajax.call为步骤3中提到的。
5、修改goods.dwt页面,调用addToCart()的地方为addToCartGoods()
OK!
transportGoods.js文件:[点击下载]
成功解决!
==================================================================================
8.ecshop 网站底部显示帮助信息
网站底部如何显示出帮助信息呢?见下图:
具体操作步骤:
1、进入网站后台,系统设置–商店设置–显示设置–找到“用户帮助是否打开”,默认是打开的。
2、文章管理–文章分类,添加文章分类至:系统分类–网店帮助分类,下面。
3、在新添加的分类下面添加文章,只有添加了文章,前台网站底部才会显示。
=================================================================================
9.Warning: number_format() expects parameter 1 to be double,string given in
ECSHOP,在提交订单的时候报错:Warning: number_format() expects parameter 1to be double, string given in…
原因:配送插件里面的免费额度为0,ec本身的bug导致了$price的值为空值,直接调用number_format出现了错误。
修改方法:
将includes\lib_common.php
else
{
$price = number_format($price, 2, ‘.’, ”);
} 修改为
else
{
if(!$price){
$price = 0;
}
$price = number_format($price, 2, ‘.’, ”);
}
一般是搜索:number_format,在最下面的一个
问题解决。
=======================================================================
10.ECSHOP模板insert语法 {insert name=’*'}的用法
文件:includes/lib_insert.php
解释:这个文件是ECSHOP动态内容函数库。
详细:里面定义各个函数的格式都是 functioninsert_*(),每个函数都是一个功能控制模块,在模板中可以使用{insert name=‘*’ } 的方法进行调用。
举例:{insert name=’history’},是用来显示浏览历史的。模板中调用:{insertname=’history’}
- ECshop 页面修改及出错处理方法基础知识(第一部分)
- ecshop会员注册页面的Email修改成非必填项方法
- Linux基础知识:第一部分
- 第一部分:基础知识
- 第一部分 基础知识
- 第一部分 基础知识
- Hadoop 常见出错信息及处理方法
- IOS中图形图像处理第一部分:位图图像原图修改
- iOS中图形图像处理第一部分:位图图像原图修改
- IOS中图形图像处理第一部分:位图图像原图修改
- IOS中图形图像处理第一部分:位图图像原图修改
- IOS中图形图像处理第一部分:位图图像原图修改
- IOS中图形图像处理第一部分:位图图像原图修改
- IOS中图形图像处理第一部分:位图图像原图修改
- iOS中图形图像处理第一部分:位图图像原图修改
- 第一部分:基础知识(第一章)
- 第一部分 TCP/IP基础知识
- mac版MySQL 密码重置 及 修改配置文件出错处理
- Objective-C中的作用域详解
- jvm jdk jre区别
- 如何用img标签显示图片的某一部分
- HDU-2141-Can you find it?【二分】
- 【hdu5747】Aaronson——popcount
- ECshop 页面修改及出错处理方法基础知识(第一部分)
- HTTP状态码
- HDU 1823 Luck and Love (二维线段树模板)
- AS3.0的元素处理(二)-- TextField
- 整理Java反射常用方法
- Spring中你不知道的注入方式
- Sqlite3 数据库操作
- TCP的三次握手和四次挥手
- caffe 编译中出现的错误——fatal error: hdf5.h: 没有那个文件或目录