在thinkcmf怎么修改视图中用到金额的时候要改什么配置

第二章 系统配置本章主要介绍ThinkCMF安装完成后如何通过简单修改配置文件实现Portal的个性化定制,在此之前我们我们需要先了解几个ThinkCMF特性。①使用模板文件夹/tpl/agirl/config.html文件来配置首页显示的内容②前台菜单须通过后台单独创建,不是你创建了一个页面或文章就有菜单了。③后台菜单亦可通过后台修改或增减现在我们就来将新安装的ThinkCMF配置成一个标准的企业官网:第一步、创建产品分类注:这里我们将列表页模板设为了product,ThinkCMF自带的模板文件中目前仅有两个关于列表页的模板即list和product,默认的为list。第二步、创建企业新闻分类按照第一步的方法再创建一个企业新闻的分类,模板使用默认的list的即可,创建后分类如下:注:上面对应的分类ID分别是1和2,这个ID在后面还会使用,这里我先提一下。第三步、创建联系我们单页注:新建一个页面,将模板设置为contact。contact是我们写的一个演示的contact模板,效果即为thinkcmf演示站的一样,用户可以根据自己的喜好自行修改。第四步、创建前台菜单进入后台的菜单管理,我们需要先创建一个菜单分类注:勾选主导航后面的复选框,全站只能有一个主菜单创建分类后现在我们进入菜单管理创建前台菜单依次创建后,我们回到前台首页就可以看到以下效果:下面你可以在相应的分类里面发布内容了。第五步、配置首页内容ThinkCMF使用config.html来配置每一个有特殊要求的页面,默认模板只对首页进行了配置,主要目的是希望大家举一反三。默认的配置文件为:&php&
/*首页配置*/
$Portal_index=&array(
'Article'=&array(
'ThinkCMF'&=&&'65',/*文章ID*/
&'Page'=&array(),
&'Cat'=&array(
& 'Advantage'& =&&'11',
& 'Presentation' =&&'10',
& 'Lastnews' =&&'8',
& 'Product'&&=&'7',
&'Slide'=&array(
& 'mid_slide'&=&&'mid_slide'
&/php&变量解释:$Portal_index & & & & & & Portal应用首页配置Article & & & & & & & & & 文章相关配置Page & & & & & & & & & & &页面相关配置Cat & & & & & & & & & & & 分类相关配置Slide & & & & & & & & & & 幻灯片相关配置配置文章'ThinkCMF'&=&&'65',&&&&&&//此栏目对应的文章ID注:这里的ID是文章ID:配置分类:同理分类配置里面的对应的几个参数对应到前台显示的区域为:'Advantage'& =&&'11',&&&&&&//业内优势的分类ID
'Presentation' =&&'10',&&&&&&//相关展示的分类ID
'Lastnews' =&&'8',&&&&&&&//最新新闻的分类ID在前台显示的区域:注:这里的ID均为分类ID,所以你需要先去添加相应的分类幻灯片配置:'mid_slide'&=&&'mid_slide'&&&//首页中部的幻灯片前台对应的显示区域:注:这里用的不是ID,而是幻灯片的分类标示第五步、体验畅快淋漓的ThinkCMF吧~
Code licensed under the .
Based on .
Icons from热门搜索:         
ThinkPHP实现支付宝接口功能
来源:未知
时间: 10:36
作者:xxadmin
[导读] 最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下: 一、下载支付宝接口包 下载地址: https://b...
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下:
一、下载支付宝接口包
下载地址:
/order/productDetail.htm?productId=3124&tabId=4#ps-tabinfo-hash
具体如何下载,我就不在罗嗦了~~
很多人反映,用支付宝的接口到最后面会出现验证错误。其实,这里需要对接口程序进行一下改造。需要添加几个自定义函数。为了让大家以后避免出现同样的问题,我把我改造好的支付宝接口程序上传了(--& 猛戳这里下载附件)。大家可以下载下来,解压后放到框架的Vendor目录中即可~
二、重新整理接口包文件,这一步应该算是比较关键的(个人认为)
下载下来的接口包文件有很多语言的源码,
我们选择 create_direct_pay_by_user-PHP-UTF-8 这个名称的接口文件。里面包括如下文件:
images文件里是支付宝相关的一些标志的图片,我们暂不管他,lib文件很重要,是整个接口的核心类文件;
alipay.config.php是相关参数的配置文件
alipayapi.php 是支付宝接口入口文件
notify_url.php 是服务器异步通知页面文件;
return_url.php 是页面跳转同步通知文件;
在ThinkPHP的框架文件下,找到Extend 进入,再进入Vendor,在Vendor文件夹下,新建文件夹Alipay,把支付宝作为第三方类库引入。然后,复制支付宝接口文件包中lib文件里的所有文件。一共4个文件,如下:
现在对以上文件进行重命名,
alipay_core.function.php重命名为:Corefunction.
alipay_md5.function.php重命名为:Md5function.php;
alipay_notify.class.php重命名为:Notify.php;
alipay_submit.class.php重命名为:Submit.php;
然后,打开Submit.php文件,把以下代码去掉;
同样,打开Notify.php文件,把以下两段代码去掉
为什么要去掉以上两个文件中的这两段代码,因为在项目中调用接口文件的时候,我把所有4个核心文件都通过vendor来进行引入。所以,这不再需要导入。
到此,支付宝接口包相关核心类库的整理基本完成。现在开始在项目中调用;
三、在项目中调用支付宝接口
调用分两步:
1、在配置文件中Conf/Config.php文件中对支付宝相关参数进行配置:
2、新建一个PayAction控制器代码如下:
3、这里有几个支付处理过程中需要用到的函数,我把这些函数写到了项目的Common/common.php中,这样不用手动调用,即可直接使用这些函数,代码如下:
四、总结几点
1、接口包中lib文件中的文件复制到Vendor后,重命名为TP规范的命名规则,为的是调用方便,当然你要改成其他名称也可以;
2、把执行支付操作(doalipay),处理异步返回结果(notifyurl),处理跳转返回结果(returnurl)三个支付接口的核心页面写到一个PayAction控制器中。
3、提交支付的页面中,可以在提交之前先把一些参数要传递的内容先通过隐藏域的方法组合好,比如金额先计算好,订单名称,订单描述等先用字符串组合好。然后提交表单,这样,在doalipay方法中只要直接构造传递参数,直接进行提交就行过了。
4、支付返回后的处理因为要在异步和跳转两个方法中都要进行相应的判断和处理,所以,把这些判断和处理写到一个自定义函数中,这样只要调用函数即可,使得代码更加清晰明了。
5、notify_url和return_url两种模式的返回url必须使用http://xxxxxxx这样的绝对路径,因为里是从支付宝平台返回到你的项目页面。不能使用相对路径。
以上代码在ThinkPHP3.0中正常使用!!
------------------------修正补充!!------------------------------
在第三部分中Orderlist数据表结构中,我有一个字段是OrdCode,这个字段是我系统中用来发送短信给客户的消费密码,也就是客户凭手机短信来消费时就要验证这个字段。
其实,大家在做系统的时候,可以把这个字段忽略,可以不用他。代码最后部分中,有一个获取一个随机且唯一的订单号的函数 getordcode(),这里我其实写错了,不是获取订单号,是ordcode,也就是消费密码,这个函数也不需要。系统中的订单号(ordid字段),我用的是时间戳。
在此修正!
--------------------解决签名错误问题 修正 13-08-16------------------------
有人说在在调试时,签名出现无法通过的问题,产生问题的原因是在返回的URL地址中返回的参数中,可能存在__URL__这样的字符串。导致无法正确过滤参数。
在向支付宝提交需要的参数时,不要使用__URL__,__PUBLIC__等TP中的模版替换变量,如果TP对这些变量解析不成功,会直接传递过去,所以,在这些地方直接使用原始的URL地址。
在接口的Core文件中,加入改造后的过滤函数,如下:
=============================================
上一篇: 下一篇:
更多文章推荐
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF在模版中引入
&tc_include file=":config" /&
阅读(...) 评论()废话不多说,直接看配置server {
listen 80;
server_&span style=&white-space:pre&& &/span&#域名
root &/data/cmf&;&span style=&white-space:pre&& &/span&#代码放置的目录
index index.
location /
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1
location ~ /.php
set $real_script_name $fastcgi_script_
if ($fastcgi_script_name ~ &^(.+?.php)(/.+)$&) {
set $real_script_name $1;
set $path_info $2;
fastcgi_pass unix:/tmp/php-cgi.
fastcgi_index index.
fastcgi_param SCRIPT_FILENAME $document_root$real_script_
fastcgi_param SCRIPT_NAME $real_script_
fastcgi_param PATH_INFO $path_
include fastcgi_
} }另外还要修改:php.inicgi.fix_pathinfo=1重启服务就可以了。
最新教程周点击榜
微信扫一扫}

我要回帖

更多关于 thinkcmf 数据库配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信