关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-21 23:06:16 浏览: 评论:0
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义:
在phpcms系统中自己写后台模块,要在前台模板中显示出来需要在\phpcms\modules\自己定义的模块名\classes\目录下写一个“模块名_tag.class.php”文件,此文件中输出前台模块板所使用的自定义的pc标签,标签定义类中的方法如何写我在这里就不赘述了,因为网上很多相关内容的资料,
比如:http://wenku.baidu.com/link?url=sesC6Zsic5BJi6lybI9ZP2ZMUpzoS8Zv-PC07seoWVdISWvjMwrn098PXNfo7xSAMKL94lMsYs-L3dc2eyr2siRA_vXUCI1HW4CraSV7CPe,在前台标签中除了可以使用自己定义的一些标签外还可以使用\phpcms\libs\functions\global.func.php这个文件中定义的方法,有兴趣的可以看一下(http://blog.csdn.net/qzmrock/article/details/7716772)很好查找。
我在这里谈一下这个标签定义类文件中的pc_tag()方法的作用,因为我发现这个方面介绍的资料很少,即便在phpcms官网上也有提问但没有给出答案,我也是研究了2天才搞明白这个方法是干什么用的,写出来给大家分享一下,希望能对你有些帮助.
大家可以发现所有的“模块_tag.class.php”文件中都有一个pc_tag()方法,上面写着“标签生成方法”字样的注释,这个方法到底是干什么的呢?其实这个方法就是提供一个数组,这个数组所定义的参数及参数值是为了给系统“模板管理-> 标签向导->添加标签向导”提供数据的。
点击“添加标签向导”会弹出向导对话框,在“选择模型”的下拉框中有系统安装的所有模块,这些模块是读取\phpcms\caches\configs\modules.php文件中的数组得到的数据,你如果在该数组中最后一行添加‘自己定义的模块’=>'模块名',这么行你就可以在刚才的下拉框中找到你自己定义的模块名,这时候选择该模块,如果系统在\phpcms\phpcms\modules\自己定义的模块\classes目录中找不到“自己定义的模块_tag.class.php”文件,系统会报错自动退出浏览器,如果定义了该文件,系统就自动加载pc_tag()方法中所提供的数组数据,以下列部分数据为例分析:
- return arrary('action'=>array('type_list'=>L('guestbook_list','','guestbook')), 'type_list'=>array(
- 'siteid'=>array('name'=>L('site_id','','comment'),'htmltype'=>'input_select','data'=>$sitelist,)
- ........ //phpfensi.com
- ),
- );
大家可以看到pc_tag()方法返回一个数组,在这个数组里每变量数组在标签向导对话框中代表一行内容,比如说'action'=>array('type_list'=>L('guestbook_list','','guestbook')),在向导对话框“选择模型”的下拉框下一行会显示“选择操作:”guestbook_list这么一行内容,这里的guestbook_list是一个radio单选框标签如果在\phpcms\phpcms\languages\zh-cn\的guestbook.lang.php文件中定义了guestbook_list的汉字标签如“留言板列表”,那么在刚才的“选择操作:”后就是“留言板列表”字样的标签,这个数组中有几项内容那么操作后就会有几个标签显示,如果选择了该标签那么它接下来就会读取这个数组变量里的参数,比如选择了guestbook_list标签,那么它就会读取type_list数组中的数据.
- 'type_list'=>array(
- 'siteid'=>array('name'=>L('site_id','','comment'),'htmltype'=>'input_select','data'=>$sitelist,)
在对话框中另起一行,标签:文本框,选择下拉框,分别对应数组(L('site_id','','comment'):input select)这里的site_id就是在comment.lang.php文件中定义的site_id参数的值,下拉框的值就是data中的值.
写到这里大家可以看出来了吧,pc_tag()方法就是系统在操作页面中为前台面板提供添加标签的方法,如果不需要用户自行添加自定义的新模块的标签在_tag.class.php文件中就不用定义pc_tag()方法,这对于前台模板的显示没有任何影响的.
Tags: tag class php pc_tag()方法
- 上一篇:自己积累phpCMS 二次开发
- 下一篇:解决PhpCms V9后台无法上传图片
相关文章
- ·Phpcms V9 栏目列表数据调用之文章标签Tag调用方法(2014-10-19)
- ·PHPCMS V9 TAG伪静态终极解决方案(2014-10-20)
- ·PHPCMS2008tag的解析方法(2014-10-24)
- ·PHPCMS源文件研究记录之框架主类库ftps.class.phpFTP操作类(2014-10-20)
- ·PHPCMS源文件研究记录之框架主类库db_factory.class.php数据库工厂(2014-10-20)
- ·PHPCMS源文件研究记录之框架主类库mysql.class.php文件(2014-10-20)
- ·【phpcms-v9】model.class.php文件分析-数据模型的基类(2014-10-22)
- ·【phpcms-v9】content_output.class.php文件分析-前台内容详情页显示(2014-10-23)
- ·【phpcms-v9】phpcms-v9中model.class.php文件分析(2014-10-23)
- ·【phpcms-v9】phpcms/modules/admin/classes/admin.class.php文件分析(2014-10-24)
- ·phpcms数据库操作(2013-11-15)
- ·phpcms的安装和卸载文件(2013-11-15)
- ·phpcms 模版源码分析(2013-11-15)
- ·phpcms更新首页(2013-11-15)
- ·PHPCMS 采集规则(2013-11-15)
- ·phpcms 仿站小结(2013-11-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)