织梦添加文章生成静态网页概述,织梦文章
导读:织梦文章织梦文章当我们在后台添加文章或其它文档时,点击保存后,根据前台模板(在templets/default里面的模板)生成了静态网页。今天就简述一下织梦系统,实现这一过程一模板织梦织梦后台模板。
当我们在后台添加文章或其它文档时,点击“保存”后,根据前台模板(在templets/default里面的模板)生成了静态网页。今天就简述一下织梦系统,实现这一过程一的大体步骤,因为,牵涉的文件太多,先概述一下,以后,会对每个功能进行分析学习。 本教程以文章模型为例子,以下是文章型的相关信息: 模型id 是 1; 模型对应的模板:封面模板index_arcticle.htm,列表页模板list_arcticle.htm,内容页模板arcticle_arcticle.htm 使用的模板引擎是:dedetag.class.php 后台添加文章的模板文件是:article_add.htm,对应的处理文件是article_add.php。 分析开始。 当在后台添加数据,点击“保存”后,程序会把我们填写的,例如标题,标签,作者,来源,文章内容等数据一同传给article_add.php文件,这个文件除了接收这些数据,还接收到了这篇即将要生成的静态网页的栏目id和模型id。其它的数据我们就不多说,这二个id,最重要的,这二项是从哪里来的,实际是当我们打开后台对应的栏目,这二个id就已经从对应的数据库表中查询出来了。 然后,通过这二个id,生成这篇文章的id,即织梦的叫法是文档id。 生成文档id函数:$arcID = GetIndexKe织梦模板y($arcrank,$typeid,$sortrank,$channelid,$senddate,$adminid);从这个函数的参数我们就看出,包括了上面提到的栏目id和频道模型id。生成的这个文档id,非常重要,因为下面用于生成html网页的函数,就以这个文档id为参数。 这个函数在文件include/helpers/archive.helper.php里面大约150行。 生成html函数:$artUrl = MakeArt($arcID,true,true,$isremote);请看里面的参数$arcID正是上面生成的文档id,这一点要清楚。 这个函数在文件dede/inc/inc_archives_functions.php里面大约394行。 函数MakeArt()是我们今天分析的对象,找到这个文件,我们发现它引入了文档类arc.archives.class.php,然后,实例化一个对象,并把$aid作为参数,注意,这个参数就是上面提到的生成的$arcID,代码如下:$arc = newArchives($aid);虽然,就这么一句话,但是对象$arc确做了很多事,这全是因为构造函数的原因,当实例时,启动了这个构造函数。 打开文件arc.archives.class.php文件,我们看到构造函数首页根据传过来的id,从数据库微表中查询出模型id和栏目id,这个栏目id和模型id跟上面提到的栏目id和模型id是一样的,为什么呢?因为,这个文档id正是根据这个二个id生成的,只不过存储在了这个微表#@_arctiny里面吧了。 接下来,在这个构造函数里面又实例化了一个对象$this->ChannelUnit,代码是$this->ChannelUnit = new ChannelUnit($arr['dede免费校板下战;channel'], $aid);在实例化时,这二个参数一个是是刚才从微表查询出来的模型id,一个是文档id,我们再打开频道模型单元类文件channelunit.class.php,里面又一个构造函数,我们再在这个函数里分析,请注意,现在我们已经到了channelunit.class.php这里面了。 这里面的构造函数通过模型id,查询数据库表#@_channeltype里面的所有字段,然后,又实例化了一个对象,代码是$dtp = new DedeTagParse();我们再打开这个类对应的静态模板引擎文件dedetag.class.php文件。这里面又一个构造函数,幸运的是这个构造函数里面没有再引入其它类文件了。 返回channelunit.class.php里面接着看代码,实例化对象$dtp后,设置了名子空间,把刚才从数据库表#@_channeltype查出来的字段fieldset值,作为参数,载入模板中,然后,对这个标签进行分析,请注意fieldset的值,正是我们后台在添加字段,在字段配置里面看到的值,类似的如下图所示。
声明: 本文由我的SEOUC技术文章主页发布于:2023-07-20 ,文章织梦添加文章生成静态网页概述,织梦文章主要讲述静态,标签,网页网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_31258.html