关于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. Wpf ScrollViewer with WrapPanel 使用鼠标滚轮水平滚动内容

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

  2. C、C++用指针引用的差异

    1:并引述之间的区别在概念的指针 参考是可变的别名.例如 int m; int &n=m; 引用作为一个别名.它在逻辑上不是独立的.它的存在具有依附性.所以引用必须在一開始就被初始化.并且其引 ...

  3. 备注ocp_ORACLE专题网络

    声明:原创作品,出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanl ...

  4. 浅析pinyin4j源码 简单利用pinyin4j对中文字符进行自然排序(转)

    pinyin4j项目  官网地址 http://pinyin4j.sourceforge.net/ 我们先把资源下载下来,连同源码和jar包一起放入工程.如下图: 接下来在demo包下,我们写一个测试 ...

  5. SCM文章4教训:定时器共阴极LED动态显示屏

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva290ZWlfODhfbHVsdWNfNjY=/font/5a6L5L2T/fontsize/400/fil ...

  6. C#分布式缓存Couchbase

    C#分布式缓存Couchbase使用 一.简介 目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis. 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当 ...

  7. BZOJ 3505 CQOI 2014 数三角形 数学

    标题效果:到m*n该网络格,问:有网络格是一个三角形的顶点的数目. 思维:数学.首先计算所有三个相同的,不.然后,在上线的一个点失去了三个点是其中.需要注意的是,答案开放long long. CODE ...

  8. Linux IPC(Inter-Process Communication,进程间通信)之管道学习

    1.标准流管道 管道操作支持文件流模式,用来创建链接还有一个进程的管道,通过函数popen和pclose popen的详细介绍在本blog:Linux 多进程学习中有具体介绍 2.无名管道(PIPE) ...

  9. oracle之sql语句优化

    oracle之sql语句优化 sql语句的优化 1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了. 2.对于有连接的列,即使最有一个是静态 ...

  10. AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】

    原文:AES加密CBC模式兼容互通四种编程语言平台[PHP.Javascript.Java.C#] 由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理: 先简单从百度找来介绍: ...