您当前的位置: 站长圈 > 技术文章 > 后端教程 > phpcms v9二次开发(基础篇)2:调用前台模板

phpcms v9二次开发(基础篇)2:调用前台模板

来源:站长圈 作者:adminroy 点击: 0

上次我接触了phpcms\modules模块文件夹,创建了一个自己的模块quan、控制器index和方法init,并且成功访问了它,今天我要学习的是创建一个模板文件并访问它。

访问一个模板文件我们是经常做的,就是你浏览一个网站的首页、或者某个栏目的列表页、或者某条信息的内容页,这些页面的模板是我自己做的,做过模板的人都知道,这个模板位于phpcms\templates下面,有一个默认风格的模板叫做default,我们访问最多的就是它下面content里的模板,那么这里的模板是通过怎么样的流程让我们访问到的呢? 下面我就在默认风格模板default下面建一个文件夹mycontent,名字随意。在里面新建一个html模板文件show.html,这个名字现在也是随意的。注意,这里说的模板指的是前台模板。
1.jpg
2.jpg

还记得上次我们建的控制器index吗?不记得就再看一下路径phpcms\modules\quan
3.jpg

然后修改init方法如下:
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
class index{
         public function init(){
                   $str = "显示前台模板内容";
                   include template('mycontent', 'show', 'default');
         }
}
?>
解析:$str = "显示前台模板内容";这句不用多解释,就是定义了一个变量$str,今天的学习重点就是“模板调用函数template($module = 'content', $template = 'index', $style = '')
 
这个函数的定义在phpcms\libs\functions\global.func.php里,它有3个参数,第1个参数是模块名,这里的模块指的不是phpcms\modules这个下面的模块,而是指的模板所在的phpcms\templates\default\mycontent模块;第2个参数是这个模块下面我们要访问的模板文件,这里就是show文件;第3个参数就是模板风格,这里就是默认风格default。
 
所以对号入座以后就是template('mycontent', 'show', 'default');这个函数的3个参数都是有默认值的,比如第3个参数默认就是'default' ,所以如果你只写前2个参数template('mycontent', 'show',);,在这个例子里结果是一样的。而第1个参数的默认值是'content',第2个参数的默认值是'index',那么试想一下,如果像这样3个参数都不写template(),会显示什么呢?
 
回到我要测试的例子中来,既然我用控制器include包含了show这个模板,那么我就在show.html里输出点什么显示一下,因为刚才只是新建了一个空白文档而已:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>测试前台模板显示</title>
<meta name="author" content="络绎" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
         {$str}
</body>
</html>
在模板里我用phpcms v9的输出方法{}输出刚才在init方法里定义的变量$str,好了,大功告成,访问一下吧,访问地址还记得吗?嘿嘿,你忘了哦,我也差点忘了,再记一次:我的域名http://wwwquan95.com/,后面跟着入口文件index.php?,然后是m=模块名&c=控制器名&a=方法名,
4.jpg
 
测试成功啦,噢耶噢耶!再自己捋一捋这个流程吧,在默认风格的模板文件夹里新建了一个模块mycontent,然后新建了一个模板文件show.html,然后在modules里我们的quan模块里的index控制器里,用init方法包含了指定的模板,指定调用模板的方法是template($module = 'content', $template = 'index', $style = ''),这样就用访问模块、控制器、方法的办法访问了我们的模板了。呃~有木有更糊涂了,哈哈...
 
为了测试你有没有糊涂,现在我另外建一个风格的模板文件夹,如图因为我们建网站一般都会用到自己风格的一套模板嘛,然后把mycontent复制一份到wwwquan这个文件夹下面
5.jpg
那么应该修改哪句代码可以访问它呢?会改就说明今天学习的重点你掌握了哦。
 

总结:今天我学习了“模板调用函数”template($module = 'content', $template = 'index', $style = ''),还有我之前就知道的前台模板的位置,怎么通过前台控制器访问前台模板。