欢迎光临亮剑seo论坛!知心的seo站长论坛!

亮剑seo论坛 > 织梦教程 > 正文

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

admin 2019-12-06 织梦教程 未知

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

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

  织梦dedecms 收集数据都是用表单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函数。

TAG: 产品运营

微信公众号:crjwz.com
热门标签