ECSHOP 二次开发技巧
一、ecshop系统功能二次开发
ecshop的代码结构非常易懂,只有有一点php基础都可以在原有的程序基础上进行修改,或功能插件的开发.
ecshop中的一些公用函数都会放在includes文件夹里,而这些公用函数几乎我们都可以用来参照一下就能轻松做出我们想要的其他功能了.
我们要对ecshop进行二次开发,简单来说其实就是对数据库的读写操作,所以只要我们读懂ecshop的数据库操作类,接下来的实现就很轻松了.
ecshop的数据库操作类是很强大的,一些常用的函数如下:
1.获取单条记录
$GLOBALS['db']->getRow($sql);
2.获取单一字段
$GLOBALS['db']->getOne($sql);
例如查询产品总数:
echo $GLOBALS['db']->getOne(‘SELECT COUNT(*) FROM ‘ . $GLOBALS['ecs']->table(‘goods’) ;
3.获取所有记录
$GLOBALS['db']->getAll($sql);
4.执行sql语句
$GLOBALS['db']->query($sql);
执行删除(DELETE),插入(INSERT),更新(UPDATE)等操作可用此方法
5.把数组元素插入数据库
- $parent['goods_number'] = ’1′;
- $parent['parent_id'] = 0;
- $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table(‘cart’), $parent, ‘INSERT’);
基于此基础上就能轻松进行ecshop二次开发了。
二、ecshop前端模板的二次开发
ecshop有强大的模版机制,ECSHOP 结合Dreamweaver实现了一套模版机制,改动模版不再需要上传,而是在后台稍稍动动手设置一下就可以了.
ecshop采用smarty模板技术,Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一,它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离.
在php文件中使用assign方法把php变量传值给模板文件,例如:
$smarty->assign(‘action’, $action);
把php中的变量$action传值给模板文件(*.dwt)中的’action’变量,模板文件可用{$action}来输出此值.
使用display方法来指定当前的模板文件并输出到该文件显示到客户端,例如:$smarty->display(‘user_passport.dwt’);

