我有一个管理事件的渠道,当我想要实现一些常见操作(如显示过去的事件)时,我遇到了问题。如果我想看到当前和未来的事件,我认为我可以通过以下方式获得它:
{exp:channel:entries channel =“events”show_future_entries =“yes”show_expired =“no”orderby =“{date}”sort =“asc”dynamic =“no”start_on =“”}
其中$ entry_date的格式为YYYY-MM-DD HH:MM(例如:2011-08-02 11:00)
它应按此顺序显示事件:
2012-08-02 11:00
2012-09-02 11:00
2012-10-02 11:00
2012-11-02 11:00
但它正在显示它们而不包括2012-08-02 11:00的事件(似乎EE的比较是>,而不是> =)
还有过去的事件(标记为已过期)我按年组织并显示它们:
{exp:channel:entries channel =“events”show_future_entries =“no”show_expired =“yes”orderby =“{date}”sort =“desc”dynamic =“no”year =“”start_on =“”}
假设我过去的事件是:
2011-08-02 11:00
2011-09-02 11:00
2011-10-02 11:00
2011-11-02 11:00
和$ entry_date = 2011-10-02 11:00
它应该显示如下:
2011-10-02 11:00
2011-09-02 11:00
2011-08-02 11:00
并以错误的顺序显示它。
实际上问题是:
有人可以告诉我我的代码是否有问题吗?
我正在使用EE 2.4.0,并且在模板的输入处启用了php,我尝试进行这些操作。
答案 0 :(得分:1)
我在这里看到的一些事情。
orderby="{date}"
实际应该是orderby="date"
(或者可以是$entry_date
完全省略,因为date / entry_date是默认的orderby)。
您即将举办的活动的问题可能就是您的生成方式
你的start_on
变量。你能告诉我这是怎么创造的吗?
究竟?你是否在某个地方回应它以确保它确实存在
你觉得它是什么?你可能会遇到本地化
EE与您的服务器之间的差异。如果你确实有一个条目
与您在start_on
中输入完全相同的输入日期
应该出现。尝试手动将日期设置为stop_before
以进行故障排除。
对于您过去的活动,您应该使用start_on
,而不是sort
。这两个参数不需要注意{{1}}参数 - 它们总是基于年表。