{dede:arclist}的學(xué)習(xí)心得,和一些問(wèn)題,和大家一起交流
基本語(yǔ)法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底層模板(InnerText)
{/dede:arclist}
在我這幾天做模板的過(guò)程中,發(fā)現(xiàn)主要問(wèn)題出在“底層模板(InnerText)”
我們?cè)谧瞿0宓臅r(shí)候,特別是列表頁(yè),或者自己定義的一個(gè)封面頁(yè)面的時(shí)候。
在底層模板,只能調(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
這些字段,但是在這里是沒(méi)有比較重要的幾個(gè)字段,比如關(guān)鍵字,作者,特別是軟件等級(jí)。讓人非常郁悶啊。
我覺(jué)得如果可以改源代碼,應(yīng)該就可以把這個(gè)問(wèn)題解決的,但是不清楚具體是那個(gè)文件,那個(gè)函數(shù),有知道的朋友,可以提醒一下不?
上面是我在學(xué)習(xí)過(guò)程中遇到的一些問(wèn)題,晚上21:55分,通過(guò)各位朋友的提醒,我找到了一些規(guī)律。
就以軟件頻道的等級(jí)(softrank)這個(gè)字段為例,我們?cè)谑褂脅dede:arclist}這個(gè)標(biāo)簽的時(shí)候,是不能調(diào)用這個(gè)字段的,那我們要如何修改才能讓他能夠調(diào)用例如softrank,keyword,writer等等一些我們想調(diào)用的字段呢。我在這里舉例一個(gè)softrank。下面是具體的操作方法。
1、首先要找到{dede:arclist}這個(gè)標(biāo)簽對(duì)應(yīng)的文件源代碼,通過(guò)later提醒,找到了,就是文件inc_fun_SpGetArcList.php,你打開后,比如搜索softrank你會(huì)發(fā)現(xiàn)搜到不到,因此我們就調(diào)用不到softrank了,那我們自己怎么加呢。
我們仔細(xì)看一下會(huì)發(fā)現(xiàn),所有的能調(diào)用的字段,都是通過(guò)這段sql語(yǔ)句實(shí)現(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ū)別,多了一個(gè)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)用呢,很簡(jiǎn)單[field:keyword]
現(xiàn)在明白了吧。
那么我再講一下softrank這個(gè)字段怎么調(diào)用的呢,這里比較麻煩,沒(méi)有keyword這么簡(jiǎn)單,加了就可以了,因?yàn)閗eyword和其他字段一樣都是在dede_archives這張表里的,但是softrank你會(huì)發(fā)現(xiàn)不是在這個(gè)表里的,他是在dede_addonsoft這種表里的,因此就比較麻煩了,那么還要如何操作呢,看上面那段SQL語(yǔ)句里面,我特別放大了,那段代碼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)用呢,很簡(jiǎn)單
[field:softrank function='GetRankStar(@me)'/]
大功告成?。?!以后想調(diào)用什么字段隨便你自己調(diào)用了,方法和上面一樣。那么{dede:arclist}這個(gè)標(biāo)簽就比較實(shí)用了。
我發(fā)現(xiàn)我們dede的論壇里面很少有這樣的教程介紹,希望大家學(xué)習(xí)后,或者研究后,能夠分享出來(lái)。我想我這個(gè)東西可能很多朋友都已經(jīng)知道了,如果給各位高手造成不變,還請(qǐng)諒解。在這里再次感謝later的提醒。
2025國(guó)考·省考課程試聽報(bào)名