因此,我正在构建 EE,但在跳过已经通过的频道条目时遇到了一点问题。
我输入了日期参数以仅显示结束日期大于或等于当前时间的那些,但仍然无效。
所以我想出了一个 if then 语句的想法。如果频道条目是过去的,它将跳过它并转到下一个。不断地这样做,直到一个合适的条目起作用。
我想我的问题是是否有办法使偏移量成为全局变量?
SN:构建并没有做得最好,这就是为什么我想出的通常可行的想法不起作用的原因。
因此,我正在构建 EE,但在跳过已经通过的频道条目时遇到了一点问题。
我输入了日期参数以仅显示结束日期大于或等于当前时间的那些,但仍然无效。
所以我想出了一个 if then 语句的想法。如果频道条目是过去的,它将跳过它并转到下一个。不断地这样做,直到一个合适的条目起作用。
我想我的问题是是否有办法使偏移量成为全局变量?
SN:构建并没有做得最好,这就是为什么我想出的通常可行的想法不起作用的原因。
您能否发布您的{exp:channel:entries}
标签以便我们更有效地调试您的问题?只是从你写的内容开始,似乎你可能使用了不正确的“日期”参数。要使用的正确参数是start_on
parameter。该参数的文档显示了忽略过去发布的条目的示例代码,并且应该清除您对如何实现它的任何问题。
如果您仍然需要帮助,请详细说明您的问题!
更新的答案:
嘿 Jamal,感谢您发布您的代码。我肯定会将您的start_on
参数设置为start_on="{current_time format='%Y-%m-%d %H:%i'}"
,然后从那里进行故障排除。如果您在进行此更改后看到错误或没有生成代码,这很可能是其他地方出现问题的迹象,应该予以修复。
您可以尝试为参数硬编码日期start_on
,如下所示:
start_on="2012-06-18 03:39"
您也可以尝试添加dynamic="no"
标签,但我不记得在这种情况下是否应该改变任何东西。
如果您仍然遇到此参数的问题,请打开模板调试和 EE 的输出分析器(都可以在Admin > System Administration > Output and Debugging中找到),刷新页面,然后尝试确定问题是基于出现在屏幕上的调试信息。
我认为您需要在这里解释“end_date”的含义。
那是一个自定义字段,里面有日期吗?您正在对其进行排序,但您也在使用 start_on 参数。start_on 参数查看 entry_date 而不是您的自定义字段。
所以基本上你的标签是在说……</p>
“给我一条未来的 entry_date 记录,end_date 的值最小。”
这很容易导致 end_date 是过去日期的记录返回。