织梦二次开发

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1251|回复: 0

[共用功能] 织梦“自定义表单”管理功能分析教程

[复制链接]

1046

主题

1109

帖子

5334

积分

超级版主

Rank: 8Rank: 8

金币
256
贡献
3959
发表于 2015-11-8 15:02:39 | 显示全部楼层 |阅读模式
本帖最后由 dedebase 于 2015-11-8 15:06 编辑

  添加自定义表单我们会了,本教程将对点击“自定义表单”管理,也就是点击左边菜单里面的“处定义表单”后显示的右边的自定义表单内容进行分析如下图所示:

自定义表单

自定义表单


  从织梦基地分析的教程来看,点击“自定义表单”实际上是从自定义表单表#@__diyforms查询的内容,然后,显示的,我们截取这个表的内容如下:

自定义表单表

自定义表单表


  从上面的两张表可以看出,我们点击“自定义表单”菜单看到的内容正是从这个数据库表里面查询出来的并显示的。

  因为,右边显示的自定义表单内容分页,所以,使用分页类的话,是最合适的,我们打开处理这个功能的文件dede/diy_main.php文件,我们一行一行分析这段代码。

  1. 权限检测:CheckPurview('c_List');

  2. 把当前路径放入到cookie里面:
  1. setcookie("ENV_GOBACK_URL",$dedeNowurl,time()+3600,"/");
复制代码


  3. 设置查询数据库表#@__diyforms的sql语句:
  1. $sql = "Select `diyid`,`name`,`table` From #@__diyforms order by diyid asc";
复制代码


  从这个查询语句我看可以看出,查询的表单id、表单名和对应的表单表,这正好是我们点击“自定义表单”后,显示的内容。对应关系如下所示:

  

显示的名称对应的字段

显示的名称对应的字段


  4. 实例化分页类:
  1. $dlist = new DataListCP();
复制代码


  5. 引入模板文件:
  1. $dlist->SetTemplet(DEDEADMIN."/templets/diy_main.htm");
复制代码


  设置sql:
  1. $dlist->SetSource($sql);
复制代码


  6. 显示内容:
  1. $dlist->display();
复制代码


  最后,关闭资源:
  1. $dlist->display();
复制代码


  我们已经多次分析和提到过这个分页类实际上是调用的织梦模板引擎,这个不用多解释了。我们再来看一下这个模板文件diy_main.htm ,从这个模板文件里面我们可以看出从表#@__diyforms遍历出表单内容是通过:{dede:datalist}...{/dede:datalist}来进行的,对于模板文件只要知道这一点就足够了。

  这个点击“自定义表单”菜单就显示右边的内容就是这样一个简单的功能,如果你把织梦基地的教程一个一个的看完的话,那么,再来研究这个小小功能,其实就非常简单了,以后,做织梦二次开发也不过如此。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|织梦二次开发

GMT+8, 2019-11-13 08:24 , Processed in 0.209574 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表