怎么给ecshop安装插件

怎么给ecshop安装插件,第1张

不同的插件安装方法不一样,根据插件的机制,要是支付,配送相对的简单一点,考贝到相应的文件夹里就可以

如有本地测试,请先本地测试再上传到空间 由于ecshop的插件需要改源文件,建议找专业的二次开发人员定制

目标一:搞懂ecshop的支付流程

选完商品,进入购物车页面,点击“结算中心”,页面跳转到flow.php?step=checkout,这个是订单确认 *** 作。

在订单确认页面确定了支付方式,配送方式等可选择的信息之后,点击“提交订单”按钮,提交表单到flow.php?step=done生成订单。

flow.php?step=done这个 *** 作中,跟支付有关的 *** 作是生成支付代码。如下所示:

/* 取得支付信息,生成支付代码,在线支付代码*/

if ($order['order_amount'] >0)

{

$payment = payment_info($order['pay_id'])

//print_r($payment)exit

include_once('includes/modules/payment/' . $payment['pay_code'] . '.php')

$pay_obj = new $payment['pay_code']

$pay_online=$pay_obj->get_code($order,unserialize_config($payment['pay_config']))

//print_r(unserialize_config($payment['pay_config']))exit

$order['pay_desc'] = $payment['pay_desc']

$smarty->assign('pay_online', $pay_online)

}

通过支付方式的id通过函数payment_info()获取到支付方式的信息,在通过支付方式的pay_code包含对应的支付模块。

Ecshop把每一种支付方式都封装成一个类,比如支付宝支付方式,对应的文件是

includes\modules\payment\alipay.php,这个文件里面封装了类是alipay,这个类有两个方法,一个是生成支付代码的get_code(),根据不同支付接口所需的参数进行配置,然后生成一个字符串,这个字符串就是支付代码;另外一个是响应 *** 作respond()。其中,接收响应的页面都是通过return_url(basename(__FILE__, '.php'))函数指定的,生成的链接是respond.php?code=,其中code后面的参数就是根据不同的支付方式而不同。Respond.php则根据不同的第三方支付返回的信息进行处理。

目标二:开发支付插件(为了便于讲解,再次开发ecshop自带的支付宝接口alipay,我们改名为alipay_test)

搞清楚支付的基本流程,尝试开发支付插件。假如要开发一个alipay_test.php插件。

首先,在语言包里面languages\zh_cn\payment新建一个alipay_test.php文件(这里复制alipay.php),然后修改里面的$LANG的下标,都加上_test,$_LANG['pay_button']可以不修改;

然后,在支付模块includes\modules\payment里面新建一个alipay_test.php,修改模块的基本信息跟语言包,封装一个类alipay_test,并且实现两个方法get_code()和respond();

最后登录后台查看支付方式。

这个需要二次开发,相当于一个插件,首先要在相应的数据表里增加一个推荐人字段,然后就是前后台对应脚本文件的修改和模板的修改,工作量不小。建议你找找有没有现成的插件可以购买,或者找人帮你开发。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11639883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存