静态化站点,某一篇文章发布时会生成静态文件,此时下一篇文章还不存在,等下一篇文章发布时 也不会主动触发这篇文章静态页面的更新。

此时我们可以使用任务计划定时触发这些页面的更新,脚本如下

<#assign pageCount=50/>
<#assign dealCount=0/>
<#assign dealDate=(.now?long-1000*3600*24)?number_to_date?string/>
<@_categoryList>
<#list page.list as a> <#-- 遍历分类 -->
<#-- 获取昨天发布的文章总数量 -->
<@_contentList categoryId=a.id containChild=true startPublishDate=dealDate containChild=true pageIndex=1 count=pageCount>
  <#list 1..page.totalPage as n>
  <#-- 分批获取昨天发布的文章 -->
<@_contentList categoryId=a.id containChild=true startPublishDate=dealDate containChild=true pageIndex=n count=pageCount>
  <#list page.list as a>
<#-- 重新生成上一篇文章静态页面 -->
<@_contentList categoryId=a.categoryId endPublishDate=a.publishDate orderField='publishDate' pageIndex=2 pageSize=1>
<#if 2=page.pageIndex>
<#list page.list as a>
<@_publishContent id=a.id><#assign dealCount++/></@_publishContent>
</#list>
</#if>
</@_contentList>
  </#list>
</@_contentList>
  </#list>
</@_contentList>
</#list>
共生成${dealCount}条内容静态页面
</@_categoryList>

其中的逻辑是取昨天发布的文章,然后分别更新他们的上一篇文章,这里的昨天可以随任务计划执行频率修改,如果是昨天,那这个任务计划应该每天执行一次,改成上个小时,那就每个小时执行一次

下面也附上上一篇 下一篇的代码,防止搜到这篇文章的小伙伴真正想找的是上一篇下一篇怎么写 ,而不是静态化时如何用

<@_contentList categoryId=content.categoryId endPublishDate=content.publishDate orderField='publishDate' pageIndex=2 count=1><#if 2=page.pageIndex><#list page.list as a><a href="${a.url!}">上一篇 ${a.title}</a></#list></#if></@_contentList>
<@_contentList categoryId=content.categoryId startPublishDate=content.publishDate orderField='publishDate' orderType='asc' pageIndex=1 count=1><#list page.list as a><a href="${a.url!}">下一篇  ${a.title}</a></#list></@_contentList>


匠人匠心科技是专业从事天津网站建设、天津网站制作、软件开发、移动建站、商城、微信端、app开发项目
软件事业部:天津市大学软件学院D-510(天津工业大学院内)
网站事业部: 天津市河北区新大路通广科技园3-225
咨询热线:138-2142-0129 136-2215-0903
天津网站建设_天津建站

扫码添加微信