关于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. winform正在使用dsoframer迅速&quot;Unable to display the inactive document.Click here to reacitive the document.&quot;

    于winform正在使用dsoframer 1.3加载word档,但在axFramerControl1.Open("NPOI.docx");于axFramerControl1控制显 ...

  2. Wpf ScrollViewer with WrapPanel 使用鼠标滚轮水平滚动内容

    为WrapPanel添加水平滚动条,当禁用垂直滚动条后使用鼠标无法滚动,竟然还需要自己写代码来实现,真真是挺无语呢,不知道算不算是一个bug. <Grid Background="Tr ...

  3. Sphinx/Coreseek 4.1 跑 buildconf.sh 一个错误,无法生成configure档

    安装前 coorseek 什么时候,遇到一些错误.该官方网站无法看到的解决方案,终于 google 在大牛的博客评论区找到一个解决方案.突然跑到他的膝盖介绍~~ 这里整理是为了方便一些人发现,墙毕竟让 ...

  4. SQL Server 日期相关

    原文:SQL Server 日期相关 原帖出处:http://blog.csdn.net/dba_huangzj/article/details/7657979 对于开发人员来说,日期处理或许简单,或 ...

  5. Android异步载入全解析之IntentService

    Android异步载入全解析之IntentService 搞什么IntentService 前面我们说了那么多,异步处理都使用钦定的AsyncTask.再不济也使用的Thread,那么这个Intent ...

  6. 百度地图 iOS SDK - 坐标转换方法

    百度地图 Android SDK 要么 iOS SDK 或各种 API 工具产品,我们使用百度自己的加密坐标系. 员在使用过程中,位置点都是通过 GPS 或者其它途径获取的.所以与百度地图所使用的坐标 ...

  7. Hadoop0.20.2 Bloom filter应用演示样例

    1. 简单介绍 參见<Hadoop in Action>P102 以及 <Hadoop实战(第2版)>(陆嘉恒)P69 2. 案例 网上大部分的说明不过依照<Hadoop ...

  8. CentOS7 安装Bind

    简要记录安装Bind的过程以及遇到的问题 一. 虚拟机准备 准备了2台虚拟机,都是装的CentOS7 64_1的IP地址为192.168.1.160,2的地址为161.161作为DNS服务器. 二.下 ...

  9. 基于NSIS脚本开发的安装程序制作软件:易量安装

    原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...

  10. 【IOS 开发】Object-C 入门 Xcode 环境具体解释

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 project ...