dedecms模板中使用{dede:sql=}實(shí)現(xiàn)分頁功能詳解,DED
導(dǎo)讀:DEDE技術(shù)DEDE技術(shù)相信很多使用dedecms的朋友在網(wǎng)上查找關(guān)于dede:sql標(biāo)簽進(jìn)行分頁的解決方案時(shí)都不盡如人意,尤其是在列表頁使用dede:sql調(diào)用外部數(shù)據(jù)(所謂調(diào)用外部織夢模板。
相信很多使用dedecms的朋友在網(wǎng)上查找關(guān)于dede:sql標(biāo)簽進(jìn)行分頁的解決方案時(shí)都不盡如人意,尤其是在列表頁使用dede:sql調(diào)用外部數(shù)據(jù)(所謂調(diào)用外部數(shù)據(jù)就是指在后臺只是創(chuàng)建個(gè)空欄目,然后對應(yīng)的列表模板文件中使用dede:sql指定自定義的數(shù)據(jù)源,數(shù)據(jù)源與該欄目本身是沒有邏輯關(guān)系的,目的是為了讓織夢能按照它的規(guī)則來幫我們將數(shù)據(jù)源生成靜態(tài)文件予以展示)時(shí),我本人也搜索了很多資料,網(wǎng)上的答案都不夠完美,有的是直接在模板文件中執(zhí)行php代碼來實(shí)現(xiàn)分頁,顯然此方法無法生成靜態(tài)文件,有的直接在sql里面指定limit參數(shù),但又無法實(shí)現(xiàn)智能分頁,織夢官方也沒有給出具體的解決方案,在dede論壇有看到織夢核心人物天涯給出的回復(fù)是采用自由列表的方法,顯然自由列表無法指定外部數(shù)據(jù)源,最后實(shí)在沒辦法只能自己動手了,首先想到的思路是將dede:list標(biāo)簽進(jìn)行改造了,熟悉dede的朋友應(yīng)該知道這個(gè)列表頁專用標(biāo)簽的工作原理大致是先通過欄目變量id獲取到對應(yīng)的數(shù)據(jù)源再呈現(xiàn)到頁面上來,那么我們就可以讓它不僅僅通過欄目變量id還可以通過指定的sql語句來獲取數(shù)據(jù)源了,比如我們可以另外嵌入一個(gè)類似{dede:listsql sql=’select * from wp_posts’ pagesize=’10′}的標(biāo)簽來使用。 思路已經(jīng)有了,接下來我們打開include/arc.listview.class.php這個(gè)文件來給它動個(gè)小手術(shù)吧! 找到: View Code PHP if(!is_object($ctag)){$ctag = $this->dtp->GetTag(“list”);} 這一段,在其后添加如下代碼: View Code PHP if(!is_object($ctag)){$ctag = $this->dtp->GetTag(“listsql”);if (is_object($ctag)){$cquery = $ctag->GetAtt(“sql”);$cquery=preg_replace(“/SELECT(.*?)FROM/is”,”SELECT count(*) as dd FROM”,$cquery);$cquery = preg_replace(“/ORDER(.*?)SC/is”, “”, $cquery);$row = $this->dsql->GetOne($cquery);if(is_array($row)){$this->TotalResult = $row['dd'];}else{$this->TotalResult = 0;}}}//end 然后找到: View Code PHP if($ctag->GetName()==”list”){$limitstart = ($this->PageNo-1) * $this->PageSize;$row = $this->PageSize;if(trim($ctag->GetInnerTextdede模板免費(fèi)())==””){$InnerText = GetSysTemplets(“list_fulllist.htm”);}else{$InnerText = trim($ctag->GetInnerText());}$this->dtp->Assign($tagid,$this->GetArcList($limitstart,$row,$ctag->GetAtt(“col”),$ctag->GetAtt(“titlelen”),$ctag->GetAtt(“infolen”),$ctag->GetAtt(“imgwidth”),$ctag->GetAtt(“imgheight”),$ctag->GetAtt(“listtype”),$ctag->GetAtt(“orderby”),$InnerText,$ctag->GetAtt(“tablewidth”),$ismake,$ctag->GetAtt(“orderway”)));} 這一段,在其后添加如下代碼: View Code PHP
關(guān)鍵詞標(biāo)簽: 分頁 詳解 DEDE技術(shù)
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-22 ,文章dedecms模板中使用{dede:sql=}實(shí)現(xiàn)分頁功能詳解,DED主要講述分頁,詳解,DEDE技術(shù)網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_33955.html
為你推薦與dedecms模板中使用{dede:sql=}實(shí)現(xiàn)分頁功能詳解,DED相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12