1.修改列表頁碼序列HTML組合串: /include/arc.listview.class.php
動(dòng)態(tài)分頁方法:function GetPageListDM($list_len,$listitem="index,end,pre,next,pageno")
靜態(tài)分頁方法:function GetPageListST($list_len,$listitem="index,end,pre,next,pageno")
2.一、二級導(dǎo)航嵌套輸出:在
{dede:channelartlist type='top' row='8'}
<UL>
<LI class="bh1 b"><A href="http://blog.163.com/wumingli456@126/blog/{dede:field name='typeurl'/}">{dede:field name='typename'/}</A> </LI>
<LI><P class="index_mulu_p1 b">分類:</P><P class=index_mulu_p2>
{dede:channel type='son' }
<a >[field:typename/]</a>|
{/dede:channel}
</P>
</LI>
</UL>
{/dede:channelartlist}
3.如上在list_article模板哪怕指定是type='top' ,仍然會(huì)以傳為參數(shù)為基準(zhǔn)
4.{dede:arclist}{/dede:arclist} 此標(biāo)簽有一個(gè)不太爽的地方就是輸出行之間會(huì)自動(dòng)的加入一個(gè)硬回車\r\n 由其是我們在進(jìn)行js變量組合的時(shí)候會(huì)比較的不爽,或者會(huì)出錯(cuò),解決方法如下:
修改include/taglib/arclist.lib.php 找到return $artlist 改為return str_replace("\r\n","",$artlist);
5. table :dede_arcatt 文檔屬性 添加相關(guān)的屬性之后需要在table:dede_archives.flag 枚舉屬性中相應(yīng)的加入
6.DEDECMS根據(jù)副欄目進(jìn)行文章調(diào)用
DEDECMS中一個(gè)文章可以同時(shí)屬于兩個(gè)欄目,即一個(gè)主欄目一個(gè)副欄目,{dede:arclist} 屬性中可以通過typeid進(jìn)行主欄目有效性篩選,但是有時(shí)我們卻想根據(jù)副欄目進(jìn)行篩選,查了dedecms的在線用戶手冊發(fā)現(xiàn)沒有此功能,airzen 就動(dòng)手改了標(biāo)簽對應(yīng)的源文件 dedecmsROOT/include/taglib/arclist.lib.php,其中我們更改方法
function lib_arclist(&$ctag,&$refObj){
...
return lib_arclistDone(...,$ctag->GetAtt('noflag') , $ctag->GetAtt('typeid2') );
}
然后更改方法:
function lib_arclistDone(..., $noflag='',$typeid2=0){
.....
$typeid2= AttDef($typeid2,0);
....
if($typeid2 !=0)
{
$orwheres[] = " arc.typeid2 = $typeid2 ";
}
if(!empty($typeid))
{
.....
}
}
其中上面加粗下劃線的部分為airzen修改的地方可以完美的與{dede:arclist typeid2='n'}{/dede:arclist}進(jìn)行數(shù)據(jù)調(diào)用了。
7.DEDECMS列表頁調(diào)用主副欄目有一個(gè)位欄目ID的文章列表
{dede:list} 對應(yīng)的是/include/arc.listview.class.php 要同時(shí)獲得副欄目的文章修改此文件 查找$cfg_need_typeid2
會(huì)找到
function CountRecord()
{
global $cfg_list_son,$cfg_need_typeid2;
if(empty($cfg_need_typeid2)) $cfg_need_typeid2 = 'N';//增加下面一行
$cfg_need_typeid2 = 'Y';
....
}
好了,在副欄目列表中就會(huì)出現(xiàn)主欄目和副欄目ID都為欄目ID的文章,崩潰吧。
8.偽靜態(tài)分頁BUG解決
打開文件:/include/arc.listview.class.php 找到下面這個(gè)方法
//獲取動(dòng)態(tài)的分頁列表
function GetPageListDM($list_len,$listitem="index,end,pre,next,pageno"){
....
if($cfg_rewrite == 'Y')
{
$plist = str_replace('.php?tid=', '-', $plist);
$plist = str_replace('&TotalResult=', '-', $plist);
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
return str_replace("/plus/","/",$plist); //加上這句
}
return $plist;
}
9.在添加文檔的時(shí)候同時(shí)添加至文檔關(guān)鍵字
一般我們希望為某個(gè)文章定為某個(gè)關(guān)鍵詞,在其它文章中出現(xiàn)該關(guān)鍵詞的時(shí)候,就顯示內(nèi)鏈至該文檔,我們需要兩步,一。添加文檔,二。在文檔關(guān)鍵字維護(hù)中添加關(guān)鍵字和鏈接。
下面我們通過修改文檔模型,只需要直接添加關(guān)鍵字,就一步完成關(guān)鍵字和本文鏈接的添加,下面介紹一下操作步驟:
step1,修改文檔模型,添加一個(gè)text的字段叫做guanjianzi,此值會(huì)自動(dòng)修改表dede_addonarticle
step2.在后臺(tái)目錄/article_add.php 的else if($dopost=='save') 處理完成,提示信息之前加入以下代碼
//by airzen 20090729 關(guān)鍵字自動(dòng)添加至關(guān)鍵字表.start
$guanjianzi = trim($guanjianzi);
$rank = 30;
if($guanjianzi!='')
{
$rpurl ="http://域名/view-{$arcID}-1.html";//鏈接這里需要手動(dòng)修改,這里是偽靜態(tài)鏈接
$row = $dsql->GetOne("Select * From `#@__keywords` where keyword like '$guanjianzi'");
if(!is_array($row))
{
$inquery = "Insert INTO `#@__keywords`(keyword,rank,sta,rpurl) VALUES ('$guanjianzi','$rank','1','$rpurl');";
$dsql->ExecuteNoneQuery($inquery);
}
}
聯(lián)系客服