dede呼叫指定欄位下相關文章怎麼實作?
首先明確要達到兩個要求:
推薦學習:織夢cms
1、要呼叫指定欄位
2、呼叫的文章要包含指定關鍵字
#相關文件呼叫
{dede:likeart titlelen=’24′ row=’10′} <li><a title=”[field:title function='htmlspecialchars(@me)'/] ” href=”[field:arcurl /]“>[field:title /]</a></li> {/dede:likeart}
註:此為dede官方的呼叫模板,但至今不清楚呼叫依據!
指定欄位呼叫
{dede:arclist typeid='栏目ID' row='10' titlelen='20'} [field:textlink/] {/dede:arclist}
下面是我自己要達到的效果:
指定欄位(ID=4)相關新聞(keyword要呼叫關鍵字或title)的呼叫
{dede:arclist typeid='4' row='10' titlelen='20' keyword=''} [field:textlink/] {/dede:arclist}
程式碼1
效果1:
## 程式碼2: 效果2: #到這裡你如果只是單一關鍵字的話那就可以了。以下的關鍵是我的關鍵字要去呼叫:即keyword='{dede:field name='keywords'/}' 或我呼叫標題keyword='{dede:field name='title'/}'不過這種很少用,因為是呼叫模板。沒人願意所有的文章都調用同一個關鍵字吧! 部落客推薦方法:--------------------------------- -------------------------------------------------- ---放在文章範本頁內
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}就表示是取所有欄位內的相關文章(與目前文章的關鍵字相關),標題長度最大32,最多顯示10條,不顯示縮圖或
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三语文”)’/}可以找到標題裡,含有“高三語文”,或者含有“高三”或“語文”的文章例如,這一段:
相关文章 {dede:likeart titlelen=’24′ row=’10′} [field:textlink/]< > {/dede:likeart}就改成:
相关文章 {dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}根據關鍵字來相關文章,就使用者體驗以及SEO來說都是非常好的唯一不好的地方就是生成靜態的時候會慢很多 ----------------------------- -------------------------------------------------- -------------------附1:arclist 中keyword 怎麼呼叫目前文件的關鍵字(dedecms織夢技術論壇) #附2: {dede:arclist}的學習心得,呼叫文章或軟體任何欄位附3、dedecms實作{dede:arclist keyword='[field:title/]'}效果【Arclist 標記】 這個標記是DedeCms最常用的一個標記,也叫自由列表標記,其中hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist 這些標記都是由這個標記所定義的不同屬性延伸出來的別名標記。功能說明:取得指定的文件清單適用範圍:封面範本、清單範本、文件範本基本語法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}底層範本(InnerText){/dede:arclist} 屬性說明:[1] typeid='' 表示欄位ID,在清單範本和檔案範本中一般不需要指定,在封面範本中允許用","分開表示多個欄位;[ 2] row='' 表示傳回文件清單總數;[3] col='' 表示分多少列顯示(預設為單列);[4] titlelen='' 表示標題長度;[5] infolen='' 表示內容簡介長度;[6] imgwidth='' 表示縮圖寬度;[7] imgheight= '' 表示縮圖高度;[8] type='' 表示檔案類型,其中空值、不使用這個屬性或type='all'時為普通文檔§ type ='commend'時,表示推薦文檔,等同於{dede:coolart}{/dede:coolart}§ type='image'時,表示必須含有縮圖的文檔,等同於{dede :imglist}{/dede:imglist}、{dede:imginfolist}{/dede:imginfolist}§ type='spec'時,表示專題,等同於標記{dede:specart}{/dede: specart}以上屬性值可以聯合使用,如: type='commend image' 表示推薦的圖片文件[9] orderby='' 表示排序方式,預設值是senddate 按發佈時間排列。 § orderby='hot' 或orderby='click' 表示按點擊數排列§ orderby='pubdate' 按出版時間排列(即是前台允許更改的時間值)§ orderby='sortrank' 依文章的新排序等級排序(如果你想使用置頂文章則使用這個屬性)§ orderby='id' 依文章ID排序#§ orderby='postnum' 依文章評論次數排序§ orderby='rand' 隨機取得指定條件的文件清單
[10] orderway='' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序。
[11] keyword='' 表示含有指定关键字的文档列表,多个关键字用","分开
[12] channelid='' 表示特定的频道模型ID,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)
[13] limit='起始,结束' 表示限定的记录范围,row属性必须等于"结束 - 起始",mysql的limit语句是由0起始的,如 “limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录,使用了本属性后,row属性将无效。
[14] att='数值' 表示自定义属性值
[15] subday='天数' 表示在多少天以内的文档,通常用于获取指定天数的热门文档、推荐文档、热门评论文档等
[16] partsort='排列位数' 表示自动获得父栏目的所有子数中排列在第几位的栏目ID,标记为 {dede:autolist}{/dede:autolist} 时,使用本属性才有效。
底层模板字段:
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
其中:
textlink = <a href='arcurl'>title</a> typelink = <a href='typeurl'>typename</a> imglink = <a href='arcurl'><img src='picname' border='0' style="max-width:90%"dede呼叫指定欄位下相關文章怎麼實現" ></a> image = <img src='picname' border='0' style="max-width:90%"dede呼叫指定欄位下相關文章怎麼實現" >
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'} [field:textlink/] <br> [field:info/] <br> {/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes'] $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>"; else @me = ""; [/field:senddate]
以上是dede呼叫指定欄位下相關文章怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!