美女露100%奶头_公牛巨鞭大战人妻h_日韩精品欧美激情在线视频_人人爽人人入人人插_久久久噜噜噜久久久精品_freechinesehdxxxxtube_freechinese国产精品_5566老婆在线观看免费版电视剧_国产xxx视频在线观看_国产互换人妻好紧hd无码
?
建站熱線:
4008-535-969
免費(fèi)創(chuàng)建網(wǎng)站
?
管理網(wǎng)站
?
首頁
報(bào)價
?
·
網(wǎng)站建設(shè)
·
軟件設(shè)計(jì)開發(fā)
·
云服務(wù)
·
企業(yè)商務(wù)短信
·
企業(yè)400電話
·
商標(biāo)申請注冊
服務(wù)
小程序
案例
模板
資訊
關(guān)于
聯(lián)系
主頁
>
新聞觀點(diǎn)
>
今日頭條
>
dedecms源碼分析之文章列表arclist_lib.php
更新時間:2020-05-19 編輯:未知 關(guān)注人次:
0
云搜索
這個文件負(fù)責(zé)顯示文章的列表。
包括GetArclistCache(),lib_arclist(),lib_arclistDone(),lib_GetAutoChannelID(),list_sort_by()五個函數(shù)。
這五個函數(shù)的調(diào)用關(guān)系是
lib_arclist()->lib_GetAutoChannelID ;
lib_arclist()->lib_arclistDone();
lib_GetAutoChannelID ->GetArclistCache ();
lib_GetAutoChannelID ->list_sort_by();
整個文件中 lib_arclistDone()函數(shù)體的代碼最多最復(fù)雜,看起來很復(fù)雜,因?yàn)槔锩嬗泻芏嗟膇f語句。
lib_arclist()函數(shù)最先被調(diào)用,代碼比較少,主要是做一些基本參數(shù)的判斷和取值,為下面被調(diào)用的lib_arclistDone函數(shù)的形參列表做準(zhǔn)備。這個函數(shù)里面有一個地方應(yīng)該比較重要,可以決定什么時候調(diào)用什么
模板
。下面是代碼。
if(trim($ctag->GetInnerText()) != '')
$innertext = $ctag->GetInnerText();
else if($tagname=='imglist')
$innertext = GetSysTemplets('part_imglist.htm');
else if($tagname=='imginfolist')
$innertext = GetSysTemplets('part_imginfolist.htm');
else
$innertext = GetSysTemplets("part_arclist.htm");
GetSysTemplets()函數(shù)是其他地方的函數(shù),通過它可以獲得相應(yīng)的模板。這里只需知道它的功能,不去研究它怎么來的和具體怎么實(shí)現(xiàn)的。
需要的參數(shù)準(zhǔn)備就緒以后,就開始調(diào)用lib_arclistDone函數(shù)了,lib_arclistDone函數(shù)做了絕大部分工作,最重要的是根據(jù)傳進(jìn)來的參數(shù)構(gòu)成sql語句,然后使用
dede
sqli的 SetQuery,Execute方法從數(shù)據(jù)庫里面取數(shù)據(jù),然后根據(jù)調(diào)用的模板返回文章列表的字符串。這個文件也只有這個函數(shù)需要解釋的。
回到lib_arclist()調(diào)用lib_arclistDone()的地方。
lib_arclistDone
(
$refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
$ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
$ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
$tagid,$pagesize,$isweight
);
看到了吧,如此之多的參數(shù),每個參數(shù)的具體含義我就不說了,源碼注釋里面有。
lib_arclistDone函數(shù)對這些參數(shù)進(jìn)行了處理,比如$titlelen = AttDef($titlelen,30)是將標(biāo)題限制在30 以內(nèi);$innertext = trim($innertext)是將顯示文章列表的字符串去掉首尾空白。
接下來是設(shè)定sql語句的查詢條件和排序方式。
此處省略若干字,實(shí)在沒什么好講的。我們直接看查詢數(shù)據(jù)庫的sql語句是什么樣子
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
$addfieldsSql
FROM `$maintable` arc LEFT JOIN `jcode_arctype` tp on arc.typeid=tp.id
$addfieldsSqlJoin
$orwhere $ordersql $limitsql";
其中maintable在這里一般是archives這個表
然后執(zhí)行這個sql語句:
$dsql->SetQuery($query);
$dsql->Execute('al');
到了lib_arclistDone的最后一個步驟了,就是講文章列表結(jié)果保存在$artlist里面,我們只是研究代碼的大概執(zhí)行過程,所以這里只抓住一條主線,那就是一般文章列表的顯示過程,artlist變量的賦值分為很多種情況,包括是否頁數(shù)大于0的情況,分兩欄顯示的情況等,一般情況下,直接跳到for($i=0; $i<$line; $i++)這個大循環(huán)里面。
找到
$liststr = $dtp2->GetResult();
$artlist .= $liststr."\r\n";
GetResult()返回一篇文章的信息,具體內(nèi)容跟你采用的模板有關(guān)。
到這一步,lib_arclistDone函數(shù)就基本結(jié)束了,后面的都是跟緩存什么的有關(guān)的。
http://m.vtl505.com/a/xinwenguandian/xinwenzixun/2020/0519/32375.html
本文地址:
http://m.vtl505.com/a/xinwenguandian/xinwenzixun/2020/0519/32375.html
,轉(zhuǎn)載請注明出處。
上一篇:
織夢DEDECMS文章排序方式及調(diào)用方法 織夢升序降序調(diào)用
返回列表
下一篇:
dedecms織夢設(shè)置為動態(tài)靜態(tài)頁面和文章的方法
最新動態(tài)
2023年春節(jié)期間網(wǎng)站應(yīng)急處理通知
免備案企業(yè)官網(wǎng)域名,免備案網(wǎng)站建設(shè),免備案做網(wǎng)站,免備案國內(nèi)服務(wù)器
百度申請metaapp商標(biāo),多個互聯(lián)網(wǎng)大廠入局元宇宙賽道
東北知名特色冷面品牌「獎故事」入駐VIPCMS建站平臺
長春透水混凝土,長春彩色透水混凝土 - 長春圣唐生態(tài)技術(shù)有限公司
吉林省 我的中國夢 文化進(jìn)萬家 《文存閱刊》優(yōu)秀文章欣賞——《相信學(xué)生,相信自己,用心教學(xué)》
相關(guān)資訊
中之蘭景觀,長春市中之蘭景觀有限公司長春地區(qū)假山制作,雕塑設(shè)計(jì)公司
長春市中之蘭景觀有限公司 雕塑工程及假山設(shè)計(jì)推薦單位名單
長春浮雕、長春假山-長春市中之蘭景觀有限公司
長春之窗
dedecms更換默認(rèn)編輯器為百度編輯器ueditor
如果建站之星無法打開,服務(wù)器升級后
服務(wù)支持
我們珍惜您每一次在線詢盤,有問必答,用專業(yè)的態(tài)度,貼心的服務(wù)。
讓您真正感受到我們的與眾不同!
合作流程
常見問題
售后保障
5053050
81710510
13624467185
4008-535-969