细心的童鞋可能已经注意到了,边栏中的最新文章怎么和实际文章发布的文章不一致呢?再细心点,可能你会发现:哦,原来是按照更新时间来处理的。
问题
侧边栏最新文章显示的并不是最新文章,而是最新修改的文章。
思路
已经明确问题了,那就重点查看是不是和预期一致咯,查看侧边栏的ftl文件。
里面的最新文章取用的是macro/latest.ftl
文件,所以下面的改动都是在这个文件里修改
发现,确实如预期所示
<div class="joe_aside__item-contain">
<@postTag method="latest" top="${settings.newest_page_size!5}">
<#if posts?size gt 0>
<ul class="list">
<#list posts?sort_by("editTime")?reverse as post>
<li class="item">
<a class="link" href="${post.fullPath!}" title="${post.title!}">${post.title!}</a>
<i class="joe-font joe-icon-link"></i>
</li>
</#list>
</ul>
<#else>
<#include "empty.ftl">
<@empty type="newest" showImg="false"/>
</#if>
</@postTag>
</div>
解决
知道上面问题了,解决就太容易了,把修改时间排序改成发布时间排序就可以了
<div class="joe_aside__item-contain">
<@postTag method="latest" top="${settings.newest_page_size!5}">
<#if posts?size gt 0>
<ul class="list">
<#list posts?sort_by("createTime")?reverse as post>
<li class="item">
<a class="link" href="${post.fullPath!}" title="${post.title!}">${post.title!}</a>
<i class="joe-font joe-icon-link"></i>
</li>
</#list>
</ul>
<#else>
<#include "empty.ftl">
<@empty type="newest" showImg="false"/>
</#if>
</@postTag>
</div>
总结
当然,有的童鞋可能想着我就想让这里显示按照编辑时间排序,可是你有没有想过,其实这里是自相矛盾的哦,前面去后台查询的时候是按照latest
方法查询的,后面又按照更新时间排序,所以,你自己选择咯~
评论区