跳过ExpressionEngine Chanel条目

时间:2012-06-18 14:25:07

标签: php expression expressionengine

所以我正在开发EE版本,我在跳过已经过的频道条目时遇到了一些问题。

我输入了date参数,只显示结束日期大于或等于当前时间的那些,但仍无效。

所以我想出了一个if then声明的想法。如果频道条目是过去的,它将跳过它并转到下一个。继续这样做直到适合的条目工作。

我想我的问题是,是否有办法使偏移成为全局变量?

SN:构建并没有做到最好,这就是为什么我想出的那些通常不起作用的想法。

2 个答案:

答案 0 :(得分:1)

您可以发布{exp:channel:entries}代码,以便我们更有效地调试您的问题吗?只是关闭你写的东西,似乎你可能使用了错误的'date'参数。要使用的正确参数是start_on parameter。该参数的文档显示了用于忽略过去发布的条目的示例代码,并且应该清除您对如何实现它的任何问题。

如果您仍需要帮助,请详细说明您的问题!

更新回答:

Hey 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的输出分析器(均在管理员>系统管理>输出和调试中找到),刷新页面,并尝试根据屏幕上显示的调试信息确定问题所在。

答案 1 :(得分:0)

我认为您需要解释“end_date”在这里的含义。

这是一个自定义字段,其中包含日期吗?您正在对它进行排序,但您也在使用start_on参数。 start_on参数查看entry_date而不是自定义字段。

所以基本上你的标签就是......

“将来给我一条带有entry_date的记录,其中end_date的值最小。”

这很容易导致返回记录,其中end_date是过去的日期。