不经过悉心栽培,花儿开不出鲜艳的花朵;不经过时间的历练,幼苗长不成参天大树。

ThinkPHP框架结合smarty模板后使用 success()后报错解决

php 建伟 4782℃ 0评论

出现这种问题的原因是因为TP框架默认配置的是内置模板,使用smarty后找不到模板路径,这时需要自己在项目配置文件中配置一下

解决如下:

Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:

1
2
3
4
//默认错误跳转对应的模板文件
 'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl';
 //默认成功跳转对应的模板文件
 'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl';

这时我们应该在自己的项目配置中这样设置一下

1
 'TMPL_ACTION_SUCCESS' =>  'Tpl/message',

我这里是在自己项目中新建了一个message的模板文件(只是把默认模板dispatch_jump复制了一份),配置里面自然是Tpl/message

QQ五笔截图未命名

然后还需要把模板文件meaage.html中的变量$meaage,$jumpUrl等修改成smarty的表达方式,见下图:

QQ五笔截图未命名2

这个时候我们在控制器中调用success()

1
$this->success('修改成功',U('goods/showlist'));

Ok页面跳转成功。大家不妨去试一下。

这里附上TP3.2.3手册中的跳转说明:http://www.kancloud.cn/manual/thinkphp/1720

转载请注明:Li Jianwei's Blog » ThinkPHP框架结合smarty模板后使用 success()后报错解决

喜欢 (4)or分享 (0)
web技术交流群
22765697