zoukankan      html  css  js  c++  java
  • dedecms如何调用指定栏目下的相关文章

    首先明确要达到两个要求:

    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

    dedecms如何调用指定栏目下的相关文章

    效果1:dedecms如何调用指定栏目下的相关文章

    代码2:

    dedecms如何调用指定栏目下的相关文章

    效果2:

    dedecms如何调用指定栏目下的相关文章

    到这里你如果是只是单一关键词的话那就可以了。下面的关键是我的关键词要去调用:即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' width='imgwidth' height='imgheight'></a>
    image = <img src='picname' border='0' width='imgwidth' height='imgheight'>
    字段调用方法:[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]

  • 相关阅读:
    Reactive Extensions (Rx) 入门(5) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(3) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
    Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
    Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
    Android 系统Action大全
    Xamarin Forms 实现发送通知点击跳转
    如何理解灰度发布
    推荐一款分布式微服务框架 Surging
  • 原文地址:https://www.cnblogs.com/fedro/p/4467955.html
Copyright © 2011-2022 走看看