You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Craft CMS:如何用单个Twig查询按板块日期排序混合展示两类条目

解决方案

要实现混合展示两个板块条目并按各自日期字段排序,你可以在Craft的条目查询里用orderBy结合SQL的CASE表达式,动态根据条目所属板块选择对应的排序字段。

直接用下面的Twig代码即可(记得替换成你实际的日期字段handle):

{% set entries = craft.entries
    .section(['events', 'latestNews'])
    .orderBy("
        CASE
            WHEN section.handle = 'events' THEN events.yourEventDateHandle
            WHEN section.handle = 'latestNews' THEN latestNews.yourNewsDateHandle
        END DESC
    ")
    .all() %}

代码说明:

  • CASE语句会检查每个条目的板块handle,匹配到events就用活动日期字段排序,匹配到latestNews就用新闻日期字段排序
  • DESC表示按日期降序排列(最新的内容在前),如果需要升序(最早的在前),把DESC改成ASC就行
  • 确保把yourEventDateHandle和yourNewsDateHandle替换成你自己板块里实际的日期字段handle(比如Events板块的日期字段如果叫eventDate,就写events.eventDate)

这样查询出来的结果会同时包含两个板块的条目,并且各自遵循对应的日期排序规则,直接传给slick轮播组件用就行。

内容的提问来源于stack exchange,提问作者Mitesh Tandel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 18:44:56