{dede:arclist}的學(xué)習(xí)心得,和一些問題,和大家一起交流
基本語法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底層模板(InnerText)
{/dede:arclist}
在我這幾天做模板的過程中,發(fā)現(xiàn)主要問題出在“底層模板(InnerText)”
我們在做模板的時候,特別是列表頁,或者自己定義的一個封面頁面的時候。
在底層模板,只能調(diào)用,
底層模板字段:
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
這些字段,但是在這里是沒有比較重要的幾個字段,比如關(guān)鍵字,作者,特別是軟件等級。讓人非常郁悶啊。
我覺得如果可以改源代碼,應(yīng)該就可以把這個問題解決的,但是不清楚具體是那個文件,那個函數(shù),有知道的朋友,可以提醒一下不?
上面是我在學(xué)習(xí)過程中遇到的一些問題,晚上21:55分,通過各位朋友的提醒,我找到了一些規(guī)律。
就以軟件頻道的等級(softrank)這個字段為例,我們在使用{dede:arclist}這個標(biāo)簽的時候,是不能調(diào)用這個字段的,那我們要如何修改才能讓他能夠調(diào)用例如softrank,keyword,writer等等一些我們想調(diào)用的字段呢。我在這里舉例一個softrank。下面是具體的操作方法。
1、首先要找到{dede:arclist}這個標(biāo)簽對應(yīng)的文件源代碼,通過later提醒,找到了,就是文件inc_fun_SpGetArcList.php,你打開后,比如搜索softrank你會發(fā)現(xiàn)搜到不到,因此我們就調(diào)用不到softrank了,那我們自己怎么加呢。
我們仔細(xì)看一下會發(fā)現(xiàn),所有的能調(diào)用的字段,都是通過這段sql語句實現(xiàn)的。
Quote:
$query = "Select arc.ID,arc.title,arc.iscommend,arc.color,arc.typeid,
arc.ismake,arc.description,arc.pubdate,arc.senddate,arc.arcrank,arc.click,
arc.money,arc.litpic,arc.writer,arc.shorttitle,arc.memberid,arc.vote,arc.postnum,arc.lastpost,arc.keywords,
tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,st.softrank
$addField
from xkzzz_archives arc
left join xkzzz_arctype tp on arc.typeid=tp.ID
left join xkzzz_addonsoft st on arc.ID=st.aid
$addJoin
where $orwhere $ordersql $limitsql";
大家仔細(xì)看一下,我這段代碼和你們有什么區(qū)別,多了一個arc.keywords和st.softrank,但這樣加了還不行,先講一下keywords是怎么添加的,要在下面的代碼中找到
Copy code
$row['info'] = $row['description'];
然后在下面或者上面加入下面的代碼,
Copy code
$row['keyword'] = $row['keywords'];
這樣keyword就能夠在{dede:arclist}標(biāo)簽里面調(diào)用了,如何調(diào)用呢,很簡單[field:keyword]
現(xiàn)在明白了吧。
那么我再講一下softrank這個字段怎么調(diào)用的呢,這里比較麻煩,沒有keyword這么簡單,加了就可以了,因為keyword和其他字段一樣都是在dede_archives這張表里的,但是softrank你會發(fā)現(xiàn)不是在這個表里的,他是在dede_addonsoft這種表里的,因此就比較麻煩了,那么還要如何操作呢,看上面那段SQL語句里面,我特別放大了,那段代碼left join xkzzz_addonsoft st on arc.ID=st.aid,最后一步如何操作呢。
同樣在下面的代碼中找到
Copy code
$row['info'] = $row['description'];
然后在下面或者上面加入下面的代碼,
Copy code
$row[softrank] = $row[softrank];
這樣softrank就能夠在{dede:arclist}標(biāo)簽里面調(diào)用了,如何調(diào)用呢,很簡單
[field:softrank function='GetRankStar(@me)'/]
大功告成!??!以后想調(diào)用什么字段隨便你自己調(diào)用了,方法和上面一樣。那么{dede:arclist}這個標(biāo)簽就比較實用了。
我發(fā)現(xiàn)我們dede的論壇里面很少有這樣的教程介紹,希望大家學(xué)習(xí)后,或者研究后,能夠分享出來。我想我這個東西可能很多朋友都已經(jīng)知道了,如果給各位高手造成不變,還請諒解。在這里再次感謝later的提醒。