首頁 >CMS教程 >DEDECMS >dede呼叫指定欄位下相關文章怎麼實現

dede呼叫指定欄位下相關文章怎麼實現

藏色散人
藏色散人原創
2020-01-13 09:51:243162瀏覽

dede呼叫指定欄位下相關文章怎麼實現

dede呼叫指定欄位下相關文章怎麼實作?

首先明確要達到兩個要求:

推薦學習:織夢cms

1、要呼叫指定欄位

2、呼叫的文章要包含指定關鍵字

#相關文件呼叫

{dede:likeart titlelen=’24′ row=’10′}
<li><a title=”[field:title function=&#39;htmlspecialchars(@me)&#39;/] ” href=”[field:arcurl /]“>[field:title /]</a></li>
{/dede:likeart}

註:此為dede官方的呼叫模板,但至今不清楚呼叫依據!

指定欄位呼叫

{dede:arclist typeid=&#39;栏目ID&#39; row=&#39;10&#39; titlelen=&#39;20&#39;}
[field:textlink/]
{/dede:arclist}

下面是我自己要達到的效果:

指定欄位(ID=4)相關新聞(keyword要呼叫關鍵字或title)的呼叫

{dede:arclist typeid=&#39;4&#39; row=&#39;10&#39; titlelen=&#39;20&#39; keyword=&#39;&#39;}
[field:textlink/]
{/dede:arclist}

程式碼1

dede呼叫指定欄位下相關文章怎麼實現

效果1:

dede呼叫指定欄位下相關文章怎麼實現

## 

程式碼2:

dede呼叫指定欄位下相關文章怎麼實現

效果2:

dede呼叫指定欄位下相關文章怎麼實現

#到這裡你如果只是單一關鍵字的話那就可以了。以下的關鍵是我的關鍵字要去呼叫:即keyword='{dede:field name='keywords'/}'  或我呼叫標題

keyword=&#39;{dede:field name=&#39;title&#39;/}&#39;

不過這種很少用,因為是呼叫模板。沒人願意所有的文章都調用同一個關鍵字吧!

部落客推薦方法:

--------------------------------- -------------------------------------------------- ---

放在文章範本頁內

{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=&#39;&#39; row=&#39;&#39; col=&#39;&#39; titlelen=&#39;&#39; infolen=&#39;&#39;
imgwidth=&#39;&#39; imgheight=&#39;&#39; listtype=&#39;&#39; orderby=&#39;&#39; keyword=&#39;&#39;}

底層範本(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=&#39;arcurl&#39;>title</a>
typelink = <a href=&#39;typeurl&#39;>typename</a>
imglink = <a href=&#39;arcurl&#39;><img  src=&#39;picname&#39; border=&#39;0&#39;    style="max-width:90%"dede呼叫指定欄位下相關文章怎麼實現" ></a>
image = <img  src=&#39;picname&#39; border=&#39;0&#39;    style="max-width:90%"dede呼叫指定欄位下相關文章怎麼實現" >

字段调用方法:[field:varname/]

如:

{dede:arclist infolen=&#39;100&#39;}
[field:textlink/]
<br>
[field:info/]
<br>
{/dede:arclist}

注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能

如: 给当天发布的内容加上 (new) 标志

[field:senddate runphp=&#39;yes&#39;]
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = "<font color=&#39;red&#39;>(new)</font>";
else @me = "";
[/field:senddate]

以上是dede呼叫指定欄位下相關文章怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn