織夢(mèng)DEDECMS列表頁首頁怎么跟其它頁使用不同模板

織夢(mèng)DEDECMS列表頁首頁怎么跟其它頁使用不同模板

織夢(mèng)dedecms列表頁首頁怎么跟其它頁使用不同模板?

織夢(mèng)DEDEcms列表頁首頁跟其它頁使用不同模板的辦法

推薦學(xué)習(xí):織夢(mèng)cms

有些時(shí)候我們需要使列表頁的首頁跟第二頁以及后面的頁面的樣式不同,修改dede:list標(biāo)簽又很難達(dá)到理想的效果,那么織夢(mèng)貓就為大家介紹一個(gè)最簡單的辦法,就是為首頁單獨(dú)指定一個(gè)模板頁,其余頁面則調(diào)用另一個(gè)模板頁。

修改的辦法如下:

打開include目錄下的arc.listview.class.php文件,找到display函數(shù)(大約在397行),找到如下代碼:

$this->ParseTempletsFirst();

在這些代碼的上方添加以下代碼:

if($this->PageNo>1) { $tempfile?=?$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm"; $this->dtp->LoadTemplate($tempfile);? }

添加之后,在頁數(shù)大于1時(shí),織夢(mèng)就會(huì)調(diào)用list_article2.htm來作為列表頁模板了。

添加以上代碼后,在動(dòng)態(tài)瀏覽欄目時(shí)已可以實(shí)現(xiàn),但會(huì)發(fā)現(xiàn)生成欄目靜態(tài)html頁后,仍然沒有達(dá)到預(yù)期目的,

搜索如下代碼:

$this->ParseDMFields($this->PageNo,1);

在這句代碼的上方添加以下代碼:

if($this->PageNo>1) { $tempfile?=?$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm"; $this->dtp->LoadTemplate($tempfile); $this->ParseTempletsFirst();? }

好了,現(xiàn)在無論是靜態(tài)頁還是動(dòng)態(tài)頁都達(dá)到理想的效果了。

可能還會(huì)有疑問,如果一個(gè)欄目有多個(gè)列表頁模板,難道每個(gè)欄目列表頁的第二頁都用list_article2.htm來作為模板?

解決辦法:

$tempfile?=?$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm";

改為:

?$tmpdir?=?$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']; ?$tempfile?=?str_replace("{tid}",$this->TypeID,$this->Fields['templist']); ?$tempfile?=?str_replace("{cid}",$this->ChannelUnit->ChannelInfos['nid'],$tempfile); ?$tempfile?=?$tmpdir."/".$tempfile; ?$tmpfile2?=?substr($tempfile,0,-4); ?$tempfile?=?$tmpfile2."2.htm";

現(xiàn)在就會(huì)自動(dòng)去獲取列表頁模板后面加了2的模板,例如列表頁的模板是list_image.htm,那么第二頁的模板就是list_image.htm。

這樣,就方便多了。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享