关于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,)

........

                                      ),

);

           大家能够看到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()方法,这对于前台模板的显示没有不论什么影响的。

关于phpcms中模块_tag.class.php中的pc_tag()方法的含义的更多相关文章

  1. 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  2. python基础:os模块中关于文件/目录常用的函数使用方法

    Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...

  3. JavaScript中模块“写法”

    在JavaScript模块到底是什么 event = function() { // do more return { bind: function() {}, unbind: function() ...

  4. os模块中关于文件/目录常用的函数使用方法

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  5. Python中模块之os的功能介绍

    Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...

  6. 用pip下载的python模块怎么在PyCharm中引入报错

    在IDE中导入下载的模块,比如:numpy模块 你会发现虽然你安装了numpy模块,在CMD中python可以import numpy,但是你在PyCharm引不进去,为什么呢?你要是有注意的话,安装 ...

  7. 查看python中模块的所有方法

    查看python中模块的所有方法     安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...

  8. odoo开发笔记--取消正在升级中模块

    场景描述: 开发过程中,有时候会遇到,模块安装的时候,一直卡着,走不过去:或者安装报错,导致进入了系统! 这个时候,怎么处理呢? 先简单说下,odoo中模块的升级有4个状态,模块相关的安装情况记录在表 ...

  9. python中模块的__all__属性

    python模块中的__all__属性,可用于模块导入时限制,如:from module import *此时被导入模块若定义了__all__属性,则只有__all__内指定的属性.方法.类可被导入. ...

随机推荐

  1. 8.19! 今天我有18生日,点击阅读或顶部 尾随幸运的一天!生日知识!↓——【Badboy】

    话说得生疼.我已经想到了17那年,那是一年的时间!我在这里7.24我认为这是我的生日 结果到处宣传 ,首页疑问发现自己是错的生日 按照农历计勒把我羞辱. 不依照原农历7.24的  今天的国家今天的日历 ...

  2. ORACLE 创建表空间、用户、授权

    1.创建表空间 create tablespace TEST  logging datafile 'e:\app\administrator\oradata\orcl\TEST.dbf' size 1 ...

  3. MapReduce架构和算法(2)

    一个.combiner计划 每map它可能会产生大量的输出,combiner的作用是map输出端先做合并.reducer的数据量. combiner最基本是实现本地key的归并,combiner具有类 ...

  4. Websocket实例

    C#版Websocket实例 websocket有java.nodejs.python,Php等等版本,我使用的是C#版本,服务器端是Fleck,github地址:https://github.com ...

  5. Device &quot;/dev/sdg&quot; is not a partition【再续】

    之前创建asm磁盘的时候总结过一下错误:http://blog.csdn.net/rhys_oracle/article/details/17029333 当今天情况是这种.例如以下: 在使用open ...

  6. 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能

    原文:利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能1.在界面上添加几个checkbox和一 ...

  7. Oracle中的delete和truncate的关系

    转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点       a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...

  8. java数据结构系列之——数组(1)

    import javax.management.RuntimeErrorException; public class MyArray { private long array[]; private ...

  9. UVA 11987 - Almost Union-Find(并查集)

    UVA 11987 - Almost Union-Find 题目链接 题意:给定一些集合,操作1是合并集合,操作2是把集合中一个元素移动到还有一个集合,操作3输出集合的个数和总和 思路:并查集,关键在 ...

  10. 第4章 建造者模式(Builder Pattern)

    原文 第4章 建造者模式(Builder Pattern) 定义 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式. 实用范围 1 当创建复杂对象 ...