thinkphp实现ecshopsession初始化
2012-10-29 23:49 来源:www.chinab4c.com 作者:ecshop专家
thinkphp实现ecshopsession初始化,我们一直在研究这个问题。如果你想实现ecshop的init.php里面的session初始化,我们就必须考虑到,每个页面可以方便的包含这个代码。但是在thinkphp中,包含公共的配置文件是在声明session之前。所以我们在config.php里面初始化,是的不到我们要的效果的。
如果想在thinkphp加载的时候,就初始化类似ecshop的session要怎么做。
if (empty($_SESSION['user_id']))
{
if ($user->get_cookie())
{
/* 如果会员已经登录并且还没有获得会员的帐户余额、积分以及优惠券 */
if ($_SESSION['user_id'] > 0)
{
update_user_info();
}
}
else
{
$_SESSION['user_id'] = 0;
$_SESSION['user_name'] = '';
$_SESSION['email'] = '';
$_SESSION['user_rank'] = 0;
$_SESSION['discount'] = 1.00;
if (!isset($_SESSION['login_fail']))
{
$_SESSION['login_fail'] = 0;
}
}
}
如果认真研究thinkphp我们可以不难发现。在Action.class.php里面。
public function __construct() {
tag('action_begin');
$uid = session('user_id');
if (!$uid)
{
session('user_id', '');
session('user_name','');
session('email', '');
session('user_rank',0);
session('discount',1.00);
session('login_fail',0);
}
//实例化视图类
$this->view = Think::instance('View');
//控制器初始化
if(method_exists($this,'_initialize'))
$this->_initialize();
}
我们可以考虑加入类似的代码。就能在thinkphp框架的原形上面,增加实现对session的初始化。当然了,ecshop的session是写在数据库的,而thinkphp的session他也自己可以实现数据库的保存。有关ecshop session原理参考本文http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2011/1021/902.html
来源:http://www.chinab4c.com
最近更新
常用插件
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...
- ecshop2.7.0utf给属性增加库存
插件介绍:本插件适合ecshop2.7.0的utf8编码对商品的属性进行库存管理...
- ecshop商品库存缺货发货量
ecshop商品库存缺货发货量数据倒出插件上海汽车租赁www.shrentbus.cn...
- ecshop导出会员邮件和手机
ecshop导出会员邮件和手机号插件,主要是用于ecshop系统中促销活动中。获...
- ecshop直接购买流程二次开
ecshop当全场免除运费的时候,其实大可以开发新的直接购买流程,方便...