关于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. 七天来学习ASP.NET MVC (两)——ASP.NET MVC 数据传输

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上.因此须要确保您是否掌握了上一节的内容. 本章的目标是在今天学习结束时利用最佳实践解决方式创建一个小型的M ...

  2. 王立平--android特权

    //同意应用程序访问和更改checkin数据库"properties"数据表 android.permission.ACCESS_CHECKIN_PROPERTIES //同意应用 ...

  3. High Performance Browser Networking - TCP UDP TLS

    延迟 定义和标准延迟 延迟简单地说,它是一种转移或信息包从起点到终点,所花费的时间. 延迟=发送延迟+传播延迟+处理延迟+排队延迟: Propagation delay 传播时延 传播时延这个概念.是 ...

  4. OpenCV功能界面和示例

    OpenCV2.4.9 API Reference http://docs.opencv.org/modules/refman.html 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  5. 前端插件@user

    分享一个 @user 前端插件   开源地址:https://github.com/yuezhongxin/Mention.js 插件效果:类似于微博或 github 中 @user 列表效果. 这是 ...

  6. MIFARE系列7《安全》

    飞利浦的MIFARE卡因为它的高安全性在市场上得到广泛应用,比方我们乘车用的公交卡,学校和企业食堂的饭卡等等.它每一个扇区有独立的密匙(6个字节的password),在通信过程中首先要验证密匙才干读写 ...

  7. Cocos2d-x 文本渲染

     文本渲染: CCLabelAtlas.CCLabelBMFont.CCLabelTTF类都是继承 CCLabelProtocol类,即能够使用系统字,也能够自己定义渲染字体. CCLabelAtla ...

  8. Windows 8 – Reason 442: Failed to enable Virtual Adapter

    Cisco VPN on Windows 8.1 – Reason 442: Failed to enable Virtual Adapter https://supertekboy.com/2013 ...

  9. UVA11080- Place the Guards(二分图染色)

    题目链接 题意:放最少的士兵去监视全部的道路, 但士兵不可相邻,符合的话,就输出最少的士兵数,否则输出-1 思路:事实上就是二分图染色,即黑白染色,然后选择黑白染色最少的那个颜色累加,但要注意可能有多 ...

  10. 打造简易可扩展的jQuery/CSS3 Tab菜单

    原文:打造简易可扩展的jQuery/CSS3 Tab菜单 今天我们利用jQuery和CSS3来打造一款简易而且扩展性强的Tab菜单,这款Tab菜单在切换时也有滑块的效果,先来看看效果图: 由与Tab菜 ...