当前位置:文档之家› Ecshop模板高,而程序版本低报错解决办法

Ecshop模板高,而程序版本低报错解决办法

Ecshop模板高,而程序版本低报错解决办法
Ecshop模板高,而程序版本低报错解决办法

相信大家都会遇到这种情况:Ecshop模板高,而程序版本低,当打开商品详情也的时候就会出乱子,下面简单介绍下我处理这一问题的经验,希望对大家有所帮助

Fatal error: Call to undefined function insert_bought_notes() in。。。\web\includes\cls_template.php on line 1140

function insert_mod($name) // 处理动态内容

{

list($fun, $para) = explode('|', $name);

$para = unserialize($para);

$fun = 'insert_' . $fun;

return $fun($para); //就是这一行,在这里调了$fun($para)即是function insert_bought_notes

}

这个可能是你用的新版的模板,程序是旧版的,旧版的程序

includes\lib_insert.php中没有这个函数,可以从最新版中把此函数复制过去就可以了

找了几个版本的在这个文件里也没找到这个function insert_bought_notes()函数,可把我急坏了,我就在/inclues/文件夹下面挨着文件找这个函数,终于功夫不付有心人,在lib_insert下面找到了,但是我包含这个文件时,仍然报错;我只能重建一个文件,单独放这一个函数做包含,这下就可以了,哈哈

新建文件lib_buy.php

if (!defined('IN_ECS'))

{

die('Hacking attempt');

}

function insert_bought_notes($arr)

{

$need_cache = $GLOBALS['smarty']->caching;

$need_compile = $GLOBALS['smarty']->force_compile;

$GLOBALS['smarty']->caching = false;

$GLOBALS['smarty']->force_compile = true;

$sql = 'SELECT https://www.doczj.com/doc/2811983200.html,er_name, og.goods_number, oi.add_time,

IF(oi.order_status IN (2, 3, 4), 0, 1) AS order_status ' .

'FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS oi LEFT JOIN ' . $GLOBALS['ecs']->table('users') . ' AS u ON https://www.doczj.com/doc/2811983200.html,er_id =

https://www.doczj.com/doc/2811983200.html,er_id, ' . $GLOBALS['ecs']->table('order_goods') . ' AS og ' .

'WHERE oi.order_id = og.order_id AND ' . time() . ' -

oi.add_time < 2592000 AND og.goods_id = ' . $arr['id'] . ' ORDER BY oi.add_time DESC LIMIT 5';

$bought_notes = $GLOBALS['db']->getAll($sql);

foreach ($bought_notes as $key => $val)

{

$bought_notes[$key]['add_time'] = local_date("Y-m-d G:i:s", $val['add_time']);

}

$sql = 'SELECT count(*) ' .

'FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS oi LEFT JOIN ' . $GLOBALS['ecs']->table('users') . ' AS u ON https://www.doczj.com/doc/2811983200.html,er_id =

https://www.doczj.com/doc/2811983200.html,er_id, ' . $GLOBALS['ecs']->table('order_goods') . ' AS og ' .

'WHERE oi.order_id = og.order_id AND ' . time() . ' -

oi.add_time < 2592000 AND og.goods_id = ' . $arr['id'];

$count = $GLOBALS['db']->getOne($sql);

$pager = array();

$pager['page'] = $page = 1;

$pager['size'] = $size = 5;

$pager['record_count'] = $count;

$pager['page_count'] = $page_count = ($count > 0) ?

intval(ceil($count / $size)) : 1;;

$pager['page_first'] = "javascript:gotoBuyPage(1,$arr[id])";

$pager['page_prev'] = $page > 1 ?

"javascript:gotoBuyPage(" .($page-1). ",$arr[id])" : 'javascript:;'; $pager['page_next'] = $page < $page_count ?

'javascript:gotoBuyPage(' .($page + 1) . ",$arr[id])" : 'javascript:;'; $pager['page_last'] = $page < $page_count ?

'javascript:gotoBuyPage(' .$page_count. ",$arr[id])" :

'javascript:;';

$GLOBALS['smarty']->assign('notes', $bought_notes);

$GLOBALS['smarty']->assign('pager', $pager);

$val= $GLOBALS['smarty']->fetch('library/bought_notes.lbi');

$GLOBALS['smarty']->caching = $need_cache;

$GLOBALS['smarty']->force_compile = $need_compile;

return $val;

}

?>

再在文件cls_template.php中,在这个函数里引用上面这个文件

即:function insert_mod($name) // 处理动态内容

{

require_once(ROOT_PATH . 'includes/lib_buy.php');

list($fun, $para) = explode('|', $name);

$para = unserialize($para);

$fun = 'insert_' . $fun;

return $fun($para);

}

这样就不会报错了,希望遇到跟我相同问题的人,能有所帮助,呵呵!

完美解决ecshop模板属性价格改为直接价格而不是加的价格的问题

ecshop属性价格改为直接价格而不是加的价格的完美解决方案 (附价格项其他美化方法) 网上的ecshop属性价格改为直接价格而不是加的价格的解决方案如下: 打开文件,查找代码includes/lib_common.php function get_final_price中 //如果需要加入规格价格 if ($is_spec_price) { if (!empty($spec)) { $spec_price = spec_price($spec); $final_price += $spec_price; } } 将此处的$final_price += $spec_price;的+号去掉 按照此方法改了,有个很大的bug,那就是其他没有添加属性的商品价格都为0了,我们的解决方案是修改成如下: if ($is_spec_price) { if (!empty($spec)) { $spec_price = spec_price($spec); if($spec_price!=0) $final_price = $spec_price; } }

要改成想京东淘宝那样,直接点击所属属性就显示其相应价格,而且后面不显示加**字样,方法如下: 1.先改商品价格随属性变动而变动 在你所在模板目录下的goods.dwt文件中找到价格那块的字段,找到价格前面的id,找到之后,在goods.dwt文件最底部复制下图画框上面一段,然后在下面粘贴一下,把上面价格里的id改到这块即可。 此图就是修改后的效果。 2.干掉加**字样 同样在该goods.dwt页,搜索{$https://www.doczj.com/doc/2811983200.html,bel} [{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}] 替换成{$https://www.doczj.com/doc/2811983200.html,bel} {if $value.price gt 0}{elseif $value.price lt 0}{/if} 记得是全替换,大概有二三处,其实直接删掉也没问题的哦 3.最终效果如图

ecshop目录结构图

二次开发基础知识:Ecshop

基础知识 一、文件夹功能说明 1、根目录:前台程序文件 2、admin:后台程序文件夹 –根目录:后台程序文件*.php文件 –help\zh_cn:各功能的帮助文件*.xml文件 –images:后台页面用图片 –includes:后台公用文件和函数 –js:后台用js脚本 –styles:后台用样式表 –templates:后台页面模板*.htm文件 3、api:调用API的系统公用函数 4、cert:存放证书的文件夹 5、data:数据连接设置等,包括各种广告的上传图片等 –afficheimg:首页flash广告图片 –brandlogo:品牌logo 6、images:上传商品图片文件夹,按日期分目录 –200902:按月份划分商品图片 –upload:上传文件夹,包括file、flash、image和media 7、includes:前台公用文件和函数 –codetable:语言对应的代码表 –fckeditor:开源html文本编辑器 –modules\convert:shopex转换文件 –modules\cron:如自动上下架、ip删除等函数 –modules\integrates:整合各种插件和函数基础类 –modules\payment:各种支付接口插件 –modules\shipping:各种送货方式插件 8、install:系统安装文件夹,用后请删除 9、js:前台用js脚本 –calendar:日历控件 10、languages:语言文件 –zh_cn:简体中文语言文件,存储简体中文下使用的函数变量等–zh_tw:繁体中文语言文件,存储繁体中文下使用的函数变量等 11、temp:存放临时缓存等文件 12、themes:模板文件夹,可以随意拷贝模板样式 13、wap:手机浏览程序 –includes;公用文件和函数 –templates:页面模板*.wml文件 14、widget:搜狐博客小插件 二、主要文件功能说明 模板文件说明 style.css –模板所使用样式表 activity.dwt –活动列表 article.dwt –文章内容页

适用所有ecshop版本模板的放大镜(含小图切换大图效果)

【1】.先下载 mzp.packed.js 下载地址:https://www.doczj.com/doc/2811983200.html,/static/magiczoomplus-demo.zip 【2】.在模板中引入 mzp.packed.js 文件 有2种方式来引入 第一种方式:把mzp.packed.js 放到 ec根目录 js目录下面 这样在goods.dwt文件里面添加一行: 1.{insert_scripts files='common.js,mzp-packed.js'} 复制代码 第二种方式:把mzp.packed.js放到模板文件夹里面的js目录下 这样在goods.dwt里面添加一行: 1. 复制代码 如果很多朋友发现没有效果那检查下是否成功的加载了js代码 【3】在goods.dwt里面添加如下代码:我们以ecshop2.70 default模板为准其他模板依此类推 1. 2. 3. {$goods.goods_name|escape:html} 4. 5. 6. 7. {$goods.goods_name|escape:html} 8. 9. 复制代码 【4】找到库文件 goods_gallery.lbi 改为如下

ecshop模板结构说明及标签(二次开发使用)

ECSHOP 模板结构说明(适用版本v2.1.5+) 名称类型备注(作用或意义)文件(目录)名可否更改images 目录存放模板图片目录不可更改 library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理-> 模板管理-> 模板选择”显示 模板缩略图。 不可更改 style.css css样式表不可更改 备注:模板文件共32个(格式:.dwt)。 提醒: 1, 更改模板文件里面库文件的内容是无效的,页面刷新时,程序自动重新载入库文件内容到模板文件里(以库文件内容为准)。 2, 模板内所有id值为ECS_ 开头的都必须保留(和ajax相关)。 3, 非库文件内容不可放置到可编辑区域内,否则设置模板时,非库文件内容将被覆盖删除。 activity.dwt 模板文件活动列表页不可更改 article.dwt 模板文件文章内容页不可更改 article_cat.dwt 模板文件文章列表页不可更改 article_pro.dwt 模板文件文章内容页(如免责声明等) 不可更改 auction.dwt 模板文件拍卖商品详情页不可更改 auction_list.dwt 模板文件拍卖商品页不可更改 brand.dwt 模板文件商品品牌页不可更改 brand_list.dwt 模板文件商品品牌列表页不可更改 catalog.dwt 模板文件所有分类页不可更改 category.dwt 模板文件商品列表页不可更改 compare.dwt 模板文件商品比较页不可更改 flow.dwt 模板文件购物车和购物流程页不可更改 gallery.dwt 模板文件商品相册页不可更改 goods.dwt 模板文件商品详情页不可更改 group_buy_goods.dwt 模板文件团购商品详情页不可更改 group_buy_list.dwt 模板文件团购商品列表页不可更改 index.dwt 模板文件首页不可更改message.dwt 模板文件信息提示页不可更改 message_board.dwt 模板文件留言板页不可更改 myship.dwt 模板文件我的配送页不可更改

ecshop数据表说明

Ecshop数据库表说明 ECSHOP开发中心(https://www.doczj.com/doc/2811983200.html,) 数据库结构说明,以及自己在后台备份不需要备份的表(红色字体是不需要备份的表)数据库采用mysql,共78张表 ecs_account_log:账户变动日志(注册用户充值、支付等记录信息) ecs_ad:广告表 ecs_admin_action:管理员权限表(定义了128项功能操作) ecs_admin_log:管理员操作日志表 ecs_admin_message:管理员留言表 ecs_admin_user:系统管理员表 ecs_adsense:站外JS投放 ecs_ad_position:广告位置表 ecs_affiliate_log:分成记录表 ecs_agency:办事处列表 ecs_area_region:区域范围表(如配送区域等) ecs_article:文章表 ecs_article_cat:文章分类表 ecs_attribute:各类商品扩展属性管理表 ecs_auction_log:拍卖活动出价记录表 ecs_auto_manage:自动上下架管理 ecs_bonus_type:红包类型 ecs_booking_goods:缺货登记 ecs_brand:商品品牌表 ecs_card:祝福贺卡表 ecs_cart:购物车 ecs_category:商品分类表 ecs_cat_recommend:首页推荐商品分类 ecs_collect_goods:用户商品收藏表

ecs_comment:用户评论表 ecs_crons:计划任务 ecs_email_list:邮件订阅表 ecs_email_sendlist:待发送邮件列表 ecs_error_log:错误日志 ecs_exchange_goods:积分商城商品表 ecs_favourable_activity:优惠活动表 ecs_feedback:用户留言表 ecs_friend_link:友情连接表 ecs_goods:商品表 ecs_goods_activity:参加活动商品表(如夺宝奇兵、团购、拍卖、礼包)ecs_goods_article:商品关联文章 ecs_goods_attr:商品对应的扩展属性表 ecs_goods_cat:商品扩展分类表 ecs_goods_gallery:商品对应的图片列表 ecs_goods_type:网站所有的商品类型(如化妆品) ecs_group_goods:配件商品 ecs_keywords:网站搜索关键字表 ecs_link_goods:相关商品 ecs_mail_templates:发送邮件的模板表 ecs_member_price:商品会员价格表 ecs_nav:导航栏目设置 ecs_order_action:订单操作表 ecs_order_goods:订单商品表 ecs_order_info:订单信息表 ecs_pack:商品包装 ecs_package_goods:礼包关联商品表 ecs_payment:支付方式表 ecs_pay_log:付费日志 ecs_plugins:插件 ecs_region:全国地区表 ecs_searchengine:搜索引擎 ecs_sessions:网站用户session表

ECshop模板制作教程

ECshop模板制作教程 我是一个EC新手,EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。 首先欢迎各位浏览本教程,恭喜大家使用 ECshop,!EC有多好,ECshop是PHP 构建的,PHP的应用我也不想多说了(亚马逊:https://www.doczj.com/doc/2811983200.html,,雅虎:https://www.doczj.com/doc/2811983200.html,,百度:https://www.doczj.com/doc/2811983200.html,淘宝:https://www.doczj.com/doc/2811983200.html,新浪:https://www.doczj.com/doc/2811983200.html,,腾讯:https://www.doczj.com/doc/2811983200.html,),(ps: ECshop成功了!在这一刻,他是伟大电子商务的传承,他不是一个人在战斗,他不是一个人 -_-!!! ) 我也不多讲了大家都知道,不过有时候热爱潜水的我真的时是实在忍不住要跳出来说两句. 本教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师)。这个教程目前由我一个人维护,但我相信,过不了多久就会有多人持续地维护。其中的内容需要不断地更新。如果您有兴趣参加,嘿嘿,PM我。我们一起为大家服务啊. 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ECshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ECshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! 第一章节: 读取这些内容,您将了解: 每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ECshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的xxxxx就是某一套模板,如系统一般会自带的

ecshop常见问题汇总

Ecshop常见问题汇总 ECSHOP开发中心(https://www.doczj.com/doc/2811983200.html,) 1、如何修改网站"欢迎光临本店" 回答(1) languages\zh_cn\common.php文件中,$_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。 还有member_info.lbi里面的welcome字样。 回答(2) 打开网站后台-模板选择-语言项编辑选择公共语言包-搜索“欢迎”进行修改 2、如何修改登录\注册字体的颜色 在库文件member_info.lbi 中修改 3、如何修改首页"热门搜索关键字" 后台-系统设置-网店设置-显示设置-首页搜索关键字,修改他的内容,然后保存,必须是英文半角字符隔开 4、如何修改首页标题"Powered by ECShop" includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。 5、如何发布首页公告 后台->系统设置->商店设置->网店信息->商店公告. 6、如何修改网站logo 用你的logo图片替换/themes/当前使用模板/images/logo.gif (以你当前logo图的名称为准) 7、如何去除ecshop产品详细页产品点击率 模板文件中,打开goods.dwt,删除{$lang.goods_click_count}: {$goods.click_count}

05ecshop项目概述

回顾 PDO:PHP数据对象,作为了一个数据抽象层来负责向下连接各种指定的数据库。 1.加载PDO扩展 2.创建PDO对象(连接数据库):new PDO($dsn,$user,$pass) 3.组织SQL并发送 a)PDO::exec:没有数据(结果集返回),返回受影响的行数 b)PDOStatement PDO::query:有结果集,返回结果集对象 4.处理返回结果 a)结果集记录数:PDOStatement::rowCount,columnCount b)取出结果集:fetch(PDO::FETCH_BOTH,FETCH_ASSOC,FETCH_NUM),fetchAll, fetchColumn,fetchObject 5.关闭PDO(unset(PDO对象)) 预处理 1.发送预处理:PDOStatement PDO::prepare 2.准备执行数据 a)传入一个参数数据:PDOStatement::execute($array) b)在执行前绑定变量:bindParam,bindValue,使用PDOStatement::execute PDO事务处理 PDO::beginTransaction:开启事务 PDO::commit:确认提交 PDO::rollback:回滚 PDO异常处理 1.设置错误处理模式为异常模式: PDO::setAttribute(PDO::ATTR_ERRORMODE,PDO::ERRMODE_EXCEPTION) 2.指定异常语句库去捕捉异常 try{//可能出现错误的语句}catch(PDOException $e){//抓取错误并处理$e->getTrace()} 反射:Reflection 将一个类的内部的结构给反映出来:ReflectionClass 获取常量:getConstants 获取属性:getProperties 获取方法:getMethods

ECSHOP模板头部修改

今天开始从头部进行修改,头部的话针对的是所有的页面,你可以把头部做成一个公用文件,不过由于调用的JS和一些样式的不同也可以分开来做,如果要做成公共头文件的话,要把所有页面都会调用的JS和CSS加载上,不过东西也不多的,下面我就做成一个公共文件来用。 先讲一下每个页面的关键字:{$keywords},这是使用的smarty模板变量用来输出。“{}”是用来规定标签的开始与结束位置,有些类似于PHP中的“”,原理是一样的,中间的变量$keywords是从后台PHP文件中传输过来的变量,里面存储有值,{$keywords}就是把里面的值进行输出,由于{$keywords}和{$page_title}(页面标题的输出,在title标签间输出)是包含在head标签中的,所以我们可以不用动它们,不必把它们写进公共头文件。在head 标签中还有一个{insert_scripts files=','},它是用来调用JS文件的,如所见,它调用了,两个JS文件,head内的我们都不做为公共头文件,不过一会在公共头文件中我们会用到这个调用JS的方式,把所有要用到的JS文件调用进来。 首先新建一个公共头文件与其它*.dwt文件放一起,在第一行我们调用所有的JS文件:{insert_scripts files=',,auto_,,,,,,shopping_,,,,,'} JS文件很多,但不是每个页面都会用到所有的JS文件,或都有的页面已经在head中调用了一些需要使用的JS文件,有与我们写的JS文件重复的,没有关系,我们只是为了做一个公共文件,不用在每个页面都单独再去调用,有重复不会有任何影响。 下来我们来确定一下的字符集设置: 我使用的是gbk字符集,如果你使用的是utf-8的话,就要把字符集进行相应设置。 下面是一段JS代码: 设置它是为了防止有些页面调用JS页面时出现加载错误而无法正常运行程序。 下面是对LOGO图片的设置:

ECSHOP编码命名规范

ECSHOP 编码规范 1.编辑器设定 1.1. 缩进 所有的缩进使用空格取代Tab制表符。PHP文件采用4个空格的缩进,HTML文件以及HTML文件中嵌入的Javascript代码采用2个空格的缩进;单独的Javascript以及CSS文件采用4个空格的缩进。 1.2. 字符编码 所有PHP、HTML文件均保存为No Bom UTF-8的字符编码。 变量名应当全部小写,并且词语之间以单个下划线分隔。 例如:$current_user 是正确的,但是$currentuser 和$CurrentUser 就不正确。 名称应当是描述性的,并且简明。我们自然不希望使用冗长的句子作为变量名,但是多输入几个字符总好于疑惑于某个变量到底是干什么用的。 1.3. 循环计数器 允许使用一个单字符变量名的唯一情形是当它作为一个循环计数器的时候。在这种情况下,外层循环的计数器应当始终是$i。如果有一个循环处于这个循环的内部,它的计数器应当是$j,进而是$k,等等。如果循环的计数器是一个已经存在并且名字有意义的变量,本规范并不适用。 例如: for ($i = 0; $i < $outer_size; $i++) { for ($j = 0; $j < $inner_size; $j++) { foo($i, $j); } }

1.4. 函数名称 函数也应该描述性地命名。这里我们并非在用C 编程,我们不希望写出诸如“stristr()”此类的函数来。同上,使用单词间用单下划线分隔的小写名称。函数名称中某处最好有一个动词。较好的函数名称如print_login_status(),get_user_data(),等等。 1.5. 函数参数 参数遵循和变量名字相同的约定。我们不希望一堆这样的函数:do_stuff($a, $b, $c)。在大部分情况下,我们希望仅仅看看函数的声明,就知道怎样使用它。 1.6. 类的名称 类的名称首先必须是一个有意义的英文单词或者词组。同时在书写格式上为了使类名和函数、变量有一个区别,我们要求类的名称全小写的写法,并且加上cls_作为前缀。 例如: /* 错误的写法 * class image_handle {} class imagehandle {} class imageHandle {} /* 正确的写法 * class cls_imagehandle {} 1.7. 总结 这里的基本哲学是不要为了偷懒而伤害了代码的清晰。但是,必须由一些常识来掌握这种平衡;例如,print_login_status_for_a_given_user() 做得就过火了——这个函数命名为print_user_login_status() 更好些,或只是print_login_status()。 2.代码布局 这里是一个头部的模板,所有的PHP文件的开始都必须包含下面的内容: /** * ECSHOP 升级程序之控制器 * ================================================================= =========== * 版权所有 (C) 2005-2007 康盛创想(北京)科技有限公司,并保留所有权利。 * 网站地址: https://www.doczj.com/doc/2811983200.html,

ecshop函数大全

所有函数功能说明: lib_time.php gmtime() P: 获得当前格林威治时间的时间戳/$0 server_timezone() P: 获得服务器的时区/$0 local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NULL) P: 生成一个用户自定义时区日期的GMT时间戳 local_date($format, $time = NULL) P: 将GMT时间戳格式化为用户自定义时区日期 gmstr2time($str) P: 转换字符串形式的时间表达式为GMT时间戳 local_strtotime($str) P: 将一个用户自定义时区的日期转为GMT时间戳 local_gettime($timestamp = NULL) P: 获得用户所在时区指定的时间戳 local_getdate($timestamp = NULL) P: 获得用户所在时区指定的日期和时间信息

lib_base.php sub_str($str, $length = 0, $append = true) P: 截取UTF-8编码下字符串的函数 real_ip() P: 获得用户的真实IP地址 str_len($str) P: 计算字符串的长度(汉字按照两个字符计算) get_crlf() P: 获得用户操作系统的换行符 send_mail($name, $email, $subject, $content, $type = 0, $notification=false) P: 邮件发送 gd_version() P: 获得服务器上的GD 版本 file_get_contents($file) P: 如果系统不存在file_get_contents函数则声明该函数 file_put_contents($file, $data, $flags = ”) P: 如果系统不存在file_put_contents函数则声明该函数 floatval($n) P: 如果系统不存在floatval 函数则声明该函数 file_mode_info($file_path) P: 文件或目录权限检查函数 log_write($arg, $fi le = ”, $line = ”) P: 写入日志内容 make_dir($folder) P: 检查目标文件夹是否存在,如果不存在则自动创建该目录 gzip_enabled() P: 获得系统是否启用了gzip addslashes_deep($value) P: 递归方式的对变量中的特殊字符进行转义

ecshop模板制作入门教程

ecshop模板制作入门教程 本教程适用于了解 ecshop 和 ecshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师) 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ecshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ecshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) ecshop模板堂,电商系统及服务提供领导品牌!专注于ecshop模板开发、微信商城、商城APP等电商解决方案,助力千万企业早日实现电子商务! 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! ecshop模板堂是国内电商系统及服务提供领导品牌,市场占有率占行业份额70%以上,用户口碑、服务评价、产品质量均属业内领先地位。 产品链贯穿PC端(大商创B2B2C商城系统)、微信端(ECTouch微商城)、APP端(ECjia 商城APP),为传统行业插上互联网的翅膀。 第一章节: 读取这些内容,您将了解:

每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ecshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的 xxxxx 就是某一套模板,如系统一般会自带的模板文件名叫做 default, (即:ecshop/themes/default )里面放的就是安装好时的默认模板,以下所有的说明都是针对默认模板来讲解. 操作前提,将您当前使用的模板调整为default模板,然后清空缓存。 接下来我们进入default目录,可以看到以下文件目录: images/ (存放模板中用到的图片) library/ ( 存放一些小模板文件及重复被用到的模板文件 ) style.css (模板样式文件) index.dwt (首页的模板 index.php) goods.dwt ( 商品显示页的模板 goods.php) *.dwt (表示其它.dwt文件) 虾米?难道你不相信这些就是模板吗?好,那我证明给你看看. 我们把把images里面的logo.gif文件的名字,改为logo2.gif,然后我们随便找一张gif图片,起名为logo.gif放到images目录中,然后我们刷新首页。看到没?首页logo被修改了。 如果你觉得大小不合适,那么我们打开library目录中的 page_header.lib 查看源代码,然后搜索 images/logo.gif 然后看它后面 width=”130″ height=”56″把130和56改为相应的值就可以了,到前台刷新看看。 好接下来我们用dreamweaver打开index.dwt文件,在源代码中搜索{$page_title} ,找到后,将{$page_title} 修改为超级无敌的大卖场. 然后到到浏览器前台刷新,看看页面有什么变化。虾米?没有发现吗?看看浏览器头

ECSHOP各文件夹功能说明

ECSHOP各文件夹功能说明 1、根目录:前台程序文件 2、admin:后台程序文件夹 --根目录:后台程序文件*.php文件 --help\zh_cn:各功能的帮助文件*.xml文件 --images:后台页面用图片 --includes:后台公用文件和函数 --js:后台用js脚本 --styles:后台用样式表 --templates:后台页面模板*.htm文件 3、api:调用API的系统公用函数 4、cert:存放证书的文件夹 5、data:数据连接设置等,包括各种广告的上传图片等 --afficheimg:首页flash广告图片 --brandlogo:品牌logo 6、images:上传商品图片文件夹,按日期分目录 --200902:按月份划分商品图片 --upload:上传文件夹,包括file、flash、image和media 7、includes:前台公用文件和函数 --codetable:语言对应的代码表 --fckeditor:开源html文本编辑器 --modules\convert:shopex转换文件 --modules\cron:如自动上下架、ip删除等函数 --modules\integrates:整合各种插件和函数基础类 --modules\payment:各种支付接口插件 --modules\shipping:各种送货方式插件 8、install:系统安装文件夹,用后请删除 9、js:前台用js脚本 --calendar:日历控件 10、languages:语言文件 --zh_cn:简体中文语言文件,存储简体中文下使用的函数变量等--zh_tw:繁体中文语言文件,存储繁体中文下使用的函数变量等 11、temp:存放临时缓存等文件 12、themes:模板文件夹,可以随意拷贝模板样式 13、wap:手机浏览程序

ECshop 所有系统通用 多货币解决方案

ECshop 所有系统通用 多货币解决方案 1、首先在我们的后台网店设置里要添加汇率转换的功能,如何添加网店功能自己摸索一下,你要把添加的功能 插入表里。如图: 我们的汇率都是和美元进行转换的。 2、开始前台实现:首先我们在首页加上多语言的链接如图: 我们看下他的url ?View Code HTML 10 11 12 13 14 15 16

这个{$url_head} 我是重新建了一个文件 conn.php 放到首页 每个文件调用 //路径处理 $url_this = "[url=http://]http://".$_SERVER[/url] ['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".$_GET['id']; $smarty->assign("url_head",$url_this); 3、我们发现都是在每个页面后面传了一次get 值 那么在那接这些get 值呢 我们肯定要找每个页面的共同文件 不难想到init.php 我在init.php 的最后加入

ECShop模板中如何实现局部刷新

ECShop模板中如何实现局部刷新 建立一个ajax.js文件,代码如下: // JavaScript Document var xmlHttp; function S_xmlhttprequest() { xmlHttp=null; if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. xmlHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } function getName(name) { if(name = https://www.doczj.com/doc/2811983200.html,.value) { S_xmlhttprequest(); xmlHttp.open("get","date.php?name="+name,true); xmlHttp.onreadystatechange = byname; xmlHttp.send(null); } }

function byname() { if(xmlHttp.readyState ==1) { document.getElementById('name').innerHTML = "loading...."; } if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var name = xmlHttp.responseText; document.getElementById('name').innerHTML = name; } } } function getEmail(email) { var email = document.myform.email.value; if(email =="") { alert("用户名不能为空"); document.myform.email.focus(); return false; } else { S_xmlhttprequest(); xmlHttp.open("get","date.php?email="+email,true); xmlHttp.onreadystatechange = byemail; xmlHttp.send(null); }

ecshop数据库表用途说明

ID表名表用途 1ecs_account_log用户账目日志表 2ecs_ad广告表 3ecs_admin_action管理权限分配 4ecs_admin_log管理日志 5ecs_admin_message管理留言 6ecs_admin_user管理员管理 7ecs_adsense广告统计信息 8ecs_ad_custom自定义广告 9ecs_ad_position广告位信息 10e cs_affiliate_log收入分成的信息 11e cs_agency办事处信息 12e cs_area_region配送区域表 13e cs_article站内文章(包括站内快讯,新手上路,手机常识等) 14e cs_article_cat所有文章的分类 15e cs_attribute商品属性 16e cs_auction_log出价记录表,每个用户的每次出价都会纪录下来 17e cs_auto_manage自动管理,分为文章自动管理和商品自动管理两种 18e cs_back_goods退货商品信息,在订单操作中用得上,比如取消订单 19e cs_back_order退货单信息 20e cs_bonus_type红包类型信息,跟后台管理"促销管理"->"红包类型"对应 21e cs_booking_goods缺货登记 22e cs_brand品牌 23e cs_card贺卡信息 24e cs_cart购物车信息(关键表) 25e cs_category获取商品的分类信息,包括各级别分类(关键表) 26e cs_cat_recommend首页推荐扩展分类(放在首页推荐,比如新品上市,精品推荐,热卖商品) 27e cs_collect_goods收藏商品信息(包含是否被关注字段) 28e cs_comment评论信息 29e cs_crons计划任务信息(后台执行,比如商品和文章的自动管理) 30e cs_delivery_goods发货单商品信息(订单系统使用) 31e cs_delivery_order发货单信息(status字段表示发货单状态,2-未发货,1-取消,0-已经发货) 32e cs_email_list邮件列表信息 33e cs_email_sendlist批量发送列表 34e cs_error_log错误日志(api目录下,源码中记录错误日志的机会比较少) 35e cs_exchange_goods可以用于几分兑换的商品表,跟goods表强关联 36e cs_favourable_activity优惠活动表 37e cs_feedback留言信息表(添加留言,删除留言,更新留言状态为可显示等) 38e cs_friend_link友情链接表 39e cs_goods销售的商品列表,包括商品的各种属性,是系统的核心关键表 40e cs_goods_activity参加活动的商品,ecshop里头主要指针对参与拍卖活动的商品 41e cs_goods_article商品和文章的关联表(主要用于处理商品时,相应处理对应文章) 42e cs_goods_attr 商品属性表,是商品表goods的一个重要补充,某些属性的变化会带来其他属性的化

ecshop错误大全

ecshop错误大全 概要:本文针对于对ecshop 接触时间不久的同事制作 Maximum execution time of 30 seconds exceeded(30秒运行超时的错误。) 提示解答: 修改php执行文件 加上 set_time_limit(0); ?> “0”为永不过时,也可设置为其他时间。 二.安装Ecshop首页出现报错常见的问题解决办法(在网上看到整理的) 安装Ecshop首页出现报错:Only variables should be passed by referen 最近想安装一个ECSHOP商城上去,老是报错,出现下面这就话: Strict Standards: Only variables should be passed by reference in D:\**\includes\cls_template.php on line 406 第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($tag_arr); (实验过,绝对可行)因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值解决办法修改完了要记得清理缓存。 2 :或则如果这样配置的话:error_reporting = E_ALL | E_STRICT 估计也可(未测试过,实验中……) 修改完上面这个问题之后,可能还会出现下面这个问题: Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\**XX\ecshopshi\includes\lib_main.php on line 1316 经过查询"includes\lib_main.php"文件的1316行发现,还是同样的问题: //$ext = end(explode('.', $tmp)); 我们把上面这句拆分为下面这三句: $ext = end(); $ar = explode('.', $tmp); $ext = end($ar); 就正常了(亲自测试过的,没问题) $tmp = basename($tmp,".$ext"); 如果主机的GD库不存在或者版本不同还有可能出现下面这句错误提示: Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\**X\includes\lib_base.php on line 346 直接找到“includes\lib_base.php”文件的346行左右,将这句:

相关主题
文本预览
相关文档 最新文档