易优CMS:内容页里面的文档列表里,如何剔除当前文档调用?

完整代码示例

{eyou:artlist loop='10' orderby='new'}
    {eyou:if condition="($field.aid eq $eyou.field.aid)"}
        <!-- 当前文章,不输出任何内容 -->
    {eyou:else /}
        <li class="dot">
            <a href="{$field.arcurl}" title="{$field.title}" class="height">{$field.title}</a>
        </li>
    {/eyou:if}
{/eyou:artlist}

代码讲解

  1. {eyou:artlist loop='10' orderby='new'}loop='10':最多读取 10 条文档;orderby='new' 按发布时间倒序,也就是最新文档。可按需修改排序规则,如按点击量等。
  2. {eyou:if condition="($field.aid eq $eyou.field.aid)"}
  • $field.aid:列表循环内每一篇文档的 ID
  • $eyou.field.aid:当前打开内容页的文章 ID
  • eq 代表等于;判断如果列表文档 ID 和当前文章 ID 一致,则判定为当前文章,不渲染输出。
  1. {eyou:else /} 不等于当前文章 ID 时,执行下方 HTML 代码,输出列表条目。



3.png


使用场景

  • 内容页【最新文档】板块
  • 内容页【相关文档】板块

如果是相关文档,把标签 {eyou:artlist} 替换为 {eyou:relartlist} 即可,过滤逻辑不变。

注意事项

  1. 仅在文档内容页模板使用,列表页无效;
  2. 修改模板后,后台清理 EyouCMS 缓存查看效果;
  3. 标签内的 class 类名 dotheight 根据自己的样式自行调整。
分享: