织梦后台添加顶级栏目详解

这个教程讲解当我们在后台添加顶级栏目的时候,织梦程序到底做了什么?我们写上栏目及栏目一些参数后,点击保存,为什么他会自动加到前台的栏目上面,当我们在点击保存时,织梦又对程序做了什么?我们详细分析这些后,对于我们以后织梦二次开发很帮助。 用到
  这个教程讲解当我们在后台添加顶级栏目的时候,织梦程序到底做了什么?我们写上栏目及栏目一些参数后,点击保存,为什么他会自动加到前台的栏目上面,当我们在点击保存时,织梦又对程序做了什么?我们详细分析这些后,对于我们以后织梦二次开发很帮助。

  用到的知识:1.<form></form>表单知识;2.数据库查询语言select,insert,update,delete等;3.php知识;4.mysql数据库知识;5.html,css,js,jquery等。

  织梦收集数据都是用表单form来收集,然后,把收集的数据通过表单,传给对应的php文件,再通过这个php文件里面的insert into数据库语言,插入到数据库存在起来。添加顶级栏目对应的php程序文件和模板文件分别是/dede/catalog_add.php和/dede/catalog_add.htm。

  以下是当我们点击保存按扭后程序在后台做的一系列操作。



  下面详细分析源码。

  下图是点击“添加顶级栏目”后看到的界面,

 

  这个界面对应的模板文件是catalog_add.htm,模板文件位置在根目录dede(如果你的后台名没有改的话),我们打开这个模板文件,找到<form></form>表单,你会发现,这个表单就是上面的图里面的内容,包括“高级选项”和“栏目内容”里面的内容。

  这里对数据收集作一个小小的总结,织梦对数据收集都是用form表单进行的,都是通过表单对应的php传到数据库保存的,不仅在织梦里面,在其它cms系统或程序中都是用表单进行收集,再能过php把数据插入到数据库里面,我们最熟悉的百度,谷哥等搜索引擎都用的是form表单,当我们把关键词输入到搜索框内后,点击查询,这个过程,跟我们添加栏目过程类似,只不过这里是从数据里面把东西查询出来,而添加栏目则只是把数据插入到数据库里面。所以,表单很重要,这里就对html表单作了解。

  form表单格式:<form action=""><input type="submit" value="发送"><input type="reset" value="重置"></form>
  这是最简单的格式,在表单中action是必须的,后面的按扭可以是文字,也是以是图片,如<input name="imageField" type="image" src="images/button_ok.gif"/>;如果我们是上传附件的表单,那么,在<form action="" enctype="multipart/form-data">里面enctype="multipart/form-data"是必须的,它的作用是设置表单的MIME编码。以后,我们会详细讲解表单知识,如果您是新手,最好先学习一下html教程。

  现在让我们看一下,在收集到用户提交的数据后,catalog_add.php文件是如何处理这些数据的呢?在这个文件中,首先引入二个文件,然后,对catalog_add.htm模板里面的表单收集到的数据进行初始化,接下来决断一下,是“添加顶级栏目”还是“批量添加顶级栏目”,实际上catalog_add.htm应对的是“添加顶级栏目”,而catalog_add_quick.htm对应的则是“批量添加顶级栏目”。

  在这个function action_save()函数后,有一个判断else if($dopost=='save'),这句话很重要,直接决定了你的操作是“添加顶级栏目”,这个判断与catalog_add.htm模板里面表单里面的<input type="hidden" name="dopost" value="save" />这句对应,正是这个把文件catalog_add.php和catalog_add.htm联系起来,实现数据插入数据库里面。

  在这个function action_save()函数里面,那句insert into是最重要的一句,就是插入数据库功能。

  现在我们对模板文件再简单分析一下,这个模板里面在头部引入一个js函数
function checkSubmit()
{
   if(document.form1.typename.value==""){
          alert("栏目名称不能为空!");
          document.form1.typename.focus();
          return false;
     }
     return true;
}

  它的作用就是当我们没的或忘记写“栏目名称”,点击提交,会有一个提示框,显示“栏目名称不能为空”,就是用的这个函数,这个特效是在表单<form name="form1" action="catalog_add.php" method="post" onSubmit="return checkSubmit();">里面的onSubmit="return checkSubmit()"脚本来触发checkSubmit()这个js函数。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
用过织梦dedecms的人都知道,织梦会员系统相当强大,跟论坛程序差不多,对于使用会员系统的人来说,织梦系统足够用的了,但是,有时候,织梦系统很多的地方又不是我们所希望,或都说,有的地方不适合我们使用,这时候就要对织梦会员系统进行二次开发,所以,
我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是织梦开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.p
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。 首先打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpR
大家在使用织梦标签调用手机站内容页上一篇下一篇的时候,发现下一篇调用的是上一篇的内容,织梦DEDE默认手机版内容页面点击下一篇却跳转到了上一篇怎么办? 这段代码可能是官方写错造成的,首先找到网站目录下面的/include/arc.archives.class.php文件,打