帝国CMS无刷新加入购物车
星期四, 十一月 25th, 2010
使用方法
1.修改商城内容模板或列表模板 加入代码如下代码
2.修改商城内容模板或列表模板 适当位置加入代码如下代码
AJAX加入购物车
3.上传e文件夹覆盖e目录
//没有修改任何系统文件
文件下载
http://www.trylife.cn/wp-content/uploads/2010/11/ecms-shopdemo-ajax-addbuycar.zip

1.修改商城内容模板或列表模板 加入代码如下代码
2.修改商城内容模板或列表模板 适当位置加入代码如下代码
AJAX加入购物车
3.上传e文件夹覆盖e目录
//没有修改任何系统文件
http://www.trylife.cn/wp-content/uploads/2010/11/ecms-shopdemo-ajax-addbuycar.zip
e/class/q_functions.php 搜索 printerror(“AddFeedbackSuccess”,$reurl,1);
在其上一行加入代码如下:
//trylife反馈发送到邮箱 [s] 1/1
//所需字段用 $add[字段]来表示
if($bid==1)//反馈ID1
{
$sendmail=1;//1 发邮件 0不发邮件
$email=array('94592590@qq.com');
$subject='邮件标题';
$content='邮件内容';
}
elseif($bid==2)//反馈ID2
{
$sendmail=1;//1 发邮件 0不发邮件
$email=array('94592590@qq.com');
$subject='邮件标题';
$content='邮件内容';
}
elseif($bid==3)//反馈ID3
{
$sendmail=1;//1 发邮件 0不发邮件
$email=array('94592590@qq.com');
$subject='邮件标题';
$content='邮件内容';
}
//发送邮件部分
if($sendmail)
{
@include(ECMS_PATH.'e/class/SendEmail.inc.php');
EcmsToSendMail($email,$subject,$content);
}
//trylife反馈发送到邮箱 [e] 1/1
e/class/ShopSysFun.php搜索代码 printerror($mess,$location,1);
在上一行加入如下代码:
//trylife 订单信息发送管理员邮箱 [s] 1/1
//此函数增加代码开始结束 无其他
$email=array('94592590@qq.com');
$subject='邮件标题';
$content='邮件内容';
@include(ECMS_PATH.'e/class/SendEmail.inc.php');
EcmsToSendMail($email,$subject,$content);
//trylife 订单信息发送管理员邮箱 [e] 1/1
这个功能主要是为了两个或多个模型行数据间关系而产生的;例如音乐模型中的数据关系如下:
phome_ecms_singer(歌手数据表)
id //歌手ID
title //歌手名
text //歌手简介
phome_ecms_album(专辑数据表)
id//专辑ID
title //专辑名称
singer_id //歌手ID 这个歌手ID就是关联的 歌手数据表中的id字段
phome_ecms_music(专辑数据表)
id//歌曲ID
title //歌曲名称
singer_id //歌手ID 这个歌手ID就是关联的 歌手数据表中的id字段
album_id //专辑ID 这个专辑ID就是关联的 专辑数据表中的id字段
downpath //音乐地址
使用帝国CMS关联字段有“选择外表关联字段”与“下拉外表关联字段”两种关联表单录入方式;
选择外表关联字段:弹出新页面选择要录入的值,优点是避免过多数据载入到表单页导致添加信息表单加载慢,别且可以搜索,缺点例如当我们要使用id作为录入字段,title作为显示字段的时候,再次修改表单带来了信息确认上的困难(使用id 等INT类型是因为查询的时候较为高效);
下拉外表关联字段:优缺点正好反过来……
灵动标签+SQL示例:专辑内容页调用所有专辑下歌曲
[e:loop={"select * from {$dbtbpre}ecms_music where album_id='$navinfor[id]' order by id desc",0,24,0,'',''}]
//这里是木板内容 内容页内的字段值可以使用$navinfor[字段]的方式获取
[/e:loop]
使用结合项:有关结合项可以看官方结合项解密
做的好点不仅可以规避原有管理字段的缺点而且还可以做到同页面录入关联模型信息,这个就不多说了(trylife的JS现在还是个白菜,有JS的问题可以问装B的凡姐 哈哈)截张近期项目的图;

这张图还少了一张游戏账号表

类似百度的搜索关键字下拉

游戏账号的无刷新录入和管理
帝国CMS本身已经具有字段处理函数,但是字段处理函数只能应用到添加信息入库前处理,信息入库后返回成功提示前处理就无能力为力了,但是这方面的处理又是很必须。
eg1:比方说trylife现在经手的《游戏发号》项目里有这么一个功能:帝国CMS发布文章同时发布到DiscuzX,领号用户需在DiscuzX更贴后才能领号;帝国CMS发布文章同时发布到DiscuzX这样的功能就需要在帝国CMS添加信息入库后于成功返回前进行操作,如果使用字段处理函数,文章因字段问题没有成功入库,因某些字段内容填写错误,发回错误提示,这样就及其有可能造成DX内错误信息;
eg2:再例如以trylife前有个《建材项目 》里,由于品牌和商品都是用户录入的,品牌可能存在也可能不存在,添加商品的时候录入品牌,这个时候就不能用字段处理函数,因有可能商品录入不成功而导致多余的品牌数据录入到库中,所以选择的是商品信息入库后,返回成功提示前处理;
以后台添加信息为例,简单说下添加信息处理
后台添加信息函数:AddNews($add,$userid,$username)
函数定义位置:e/class/hinfofun.php
简单的处理,我们只需要在AddNews()函数体内的下面代码上一行加入需要处理的代码即可
printerror("AddNewsSuccess","AddNews.php?enews=AddNews&ecmsnfrom=$add[ecmsnfrom]&bclassid=$add[bclassid]&classid=$add[classid]");
上边的方法老是改系统文件,trylife个人认为比较烦,越改越多,臃肿的文件看着心里会烦;所以trylife在e/class/userfun.php定义了一个函数
//后台添加信息入库后与返回成功提示前处理函数
function AddNews_BeforeSucDo($add,$userid,$username)
{
//以后在这里添加处理
}
//类似这样的问题,比如注册,前后台添加信息,评论,等都有必要存在入库前处理函数和入库后处理函数。
//整理好函数方面的建议,还是要给王猛老大发一份。
//上次给老大发了一份《帝国CMS方便拓展建议1-设置与缓存》这样个文档
//如果能采纳就方便多了哈