织梦dedecms后台添加顶级栏目详解
我们写上栏目及栏目一些参数后,点击保存,为什么他会自动加到前台的栏目上面,当我们在点击保存时,织梦又对程序做了什么?我们详细分析这些后,对于我们以后织梦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函数。
用到的知识: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函数。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
来源:网友投稿 关注:
时间:2017-11-16 14:39
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程:
- dedecms SQL注入漏洞 member/album_add.php 修复
- dedecms cookies泄漏导致SQL漏洞 /member/article_add
- Windows虚拟主机指定目录禁用脚本执行权限方法
- 西部数码虚拟主机设置禁止脚本执行权限
- 阿里云主机设置织梦程序禁止脚本执行权限及禁止写入
- dedecms织梦导致CPU峰值现象的解决办法
- 织梦程序网站被挂马或快照劫持终极解决办法
- 阿里云提醒/member/reg_new.php注入漏洞解决办法
- 织梦安全:更改plus名称
- 织梦栏目属性增加链接rel、nofollow和新窗口target
- 织梦问答模块PHP7报错解决方法
- dedecms解决移动端首页不自动更新问题