关于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. StackExchange.Redis 使用 (一)

    在StackExchange.Redis中最重要的对象是ConnectionMultiplexer类, 它存在于StackExchange.Redis命名空间中.这个类隐藏了Redis服务的操作细节, ...

  2. 【转】Android内存机制分析2——分析APP内存使用情况

    上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行.今天主要是讲解一下Android里面如何分析我们程序内存使用情况.以便后续可以分析我们程序 ...

  3. 十二周项目三(4)——出口fibnacci第一序列20的数量

    /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名:test.cpp * 作者:陈丹妮 * 完毕日期:2014年 11 月 ...

  4. 世界上速度最快的输入法 Fleksy 为了支持中国

    在 Windows Phone 8.1 内置 Word Flow 宣布取得世界最快输入记录后仅几天就打破的 Fleksy 開始測试中文支持了. 总算有一次创新的输入模式里,中文不是被落下的那个.Fle ...

  5. 学习笔记 一步步了解webpack

    前言 demo 地址: https://github.com/yy8597/webpack-demos 之前学习了 broswerify,发现确实很好用.虽然没有 grunt 那样丰富的配置和插件,但 ...

  6. 三款经常使用IP发包工具介绍

    AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@q ...

  7. nodejs使用connect-mongodb报错(Please ensure that you set the default write concern)

    原本是使用connect-mongo的,可能是express版本号的升级报错了.改用connect-mongodb.可是使用后出现了例如以下的警告: G:\nodejs\moviesite>gr ...

  8. python下载地址到迅雷qq旋风下载

    迅雷和qq旋风下载,有加速和离线功能,非常方面,我是在网上看到的原始地址和迅雷地址,qq旋风地址的转化原理.然后用python+pyqt写了一个client 原理: 迅雷: 迅雷下载地址=" ...

  9. 微信消息体签名及加解密功能详细解析以及.net实现

    原文:微信消息体签名及加解密功能详细解析以及.net实现 前言 微信消息体签名及加密功能已上线,明文传输确实存在安全风险,鉴于微信的用户范围使用之广泛,必定会成为众矢之的.所以大家还是尽快接入安全模式 ...

  10. cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第六步---炮台&amp;点击炮台加入英雄&amp;英雄升级

    /* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦,他说:随便写,第一别全然照搬代码:第二能够说 ...