在thinkphp5中定义的跳转的模板设置是在目录下application\config.php定义的,也是默认定义跳转模板文件,下面是config.php中的代码。
// 默认跳转页面对应的模板文件 'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', 'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
由以上的定义设置,我们可以很快找到默认模板的实际位置,在核心文件目录thinkphp\tpl\dispatch_jump.tpl。先在我们想要自定义的跳转模板文件,我们有两个思路,第一个思路是不该设置该模板文件,即把上述thinkphp\tpl\dispatch_jump.tpl文件原来的内容删除掉,改成我们自己的文件内容。还有一种思路就是我们重新定义跳转文件的位置,我们一般在那需要跳转,就在哪个项目下的config文件夹中重新定义dispatch_success_tmpl和dispatch_error_tmpl。这里我于admin项目为例,其配置文件application\admin\config.php定义如下
<?php //配置文件 return [ //分页配置 'paginate' => [ 'type' => 'bootstrap3', 'var_page' => 'page', 'list_rows' => 15, ], // 默认跳转页面对应的模板文件 'dispatch_success_tmpl'=>'public:dispatch_jump', 'dispatch_error_tmpl'=>'public:dispatch_jump', // 'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', // 'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', ];
以上定义设置后,跳转模板文件就在application\admin\view\public\dispatch_jump.html中,以上是thinkphp5的设置方法,然而thinkphp3.2跟这个又不太一样,3.2中模板路径是不一样的,如果想在某个项目目录单独设置的话,要先建立conf文件夹再在里面创建congfig.php文件,以下是默认设置文件在ThinkPHP\Conf\convention.php中代码
/* 模板引擎设置 */ 'TMPL_CONTENT_TYPE' => 'text/html', // 默认模板输出类型 'TMPL_ACTION_ERROR' => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默认错误跳转对应的模板文件 'TMPL_ACTION_SUCCESS' => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默认成功跳转对应的模板文件
最后一点注意的是,如果用了smart模板引擎的话,模板中的<?php echo($jumpUrl); ?>这个,我们把他替换成{$jumpUrl}就可以了。如果是thinkphp5改成{url}就行了。