織夢添加文章生成靜態(tài)網頁概述,織夢文章
導讀:織夢文章織夢文章當我們在后臺添加文章或其它文檔時,點擊保存后,根據前臺模板(在templets/default里面的模板)生成了靜態(tài)網頁。今天就簡述一下織夢系統,實現這一過程一模板織夢織夢后臺模板。
當我們在后臺添加文章或其它文檔時,點擊“保存”后,根據前臺模板(在templets/default里面的模板)生成了靜態(tài)網頁。今天就簡述一下織夢系統,實現這一過程一的大體步驟,因為,牽涉的文件太多,先概述一下,以后,會對每個功能進行分析學習。
本教程以文章模型為例子,以下是文章型的相關信息:
模型id 是 1;
模型對應的模板:封面模板index_arcticle.htm,列表頁模板list_arcticle.htm,內容頁模板arcticle_arcticle.htm
使用的模板引擎是:dedetag.class.php
后臺添加文章的模板文件是:article_add.htm,對應的處理文件是article_add.php。
分析開始。
當在后臺添加數據,點擊“保存”后,程序會把我們填寫的,例如標題,標簽,作者,來源,文章內容等數據一同傳給article_add.php文件,這個文件除了接收這些數據,還接收到了這篇即將要生成的靜態(tài)網頁的欄目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()是我們今天分析的對象,找到這個文件,我們發(fā)現它引入了文檔類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免費校板下戰(zhàn);channel'], $aid);在實例化時,這二個參數一個是是剛才從微表查詢出來的模型id,一個是文檔id,我們再打開頻道模型單元類文件channelunit.class.php,里面又一個構造函數,我們再在這個函數里分析,請注意,現在我們已經到了channelunit.class.php這里面了。
這里面的構造函數通過模型id,查詢數據庫表#@_channeltype里面的所有字段,然后,又實例化了一個對象,代碼是$dtp = new DedeTagParse();我們再打開這個類對應的靜態(tài)模板引擎文件dedetag.class.php文件。這里面又一個構造函數,幸運的是這個構造函數里面沒有再引入其它類文件了。
返回channelunit.class.php里面接著看代碼,實例化對象$dtp后,設置了名子空間,把剛才從數據庫表#@_channeltype查出來的字段fieldset值,作為參數,載入模板中,然后,對這個標簽進行分析,請注意fieldset的值,正是我們后臺在添加字段,在字段配置里面看到的值,類似的如下圖所示。
聲明: 本文由我的SEOUC技術文章主頁發(fā)布于:2023-07-20 ,文章織夢添加文章生成靜態(tài)網頁概述,織夢文章主要講述靜態(tài),標簽,網頁網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_31258.html