我遇到的问题是,网址中的第三个“细分”会导致 ALL exp:channel:条目停止返回结果。
示例网址:
工作正常: siteurl.com/index.php/one/two
不起作用: siteurl.com/index.php/one/two/three
示例条目拉动:
{exp:channel:entries channel =“my_channel”category =“18”sort =“asc”search:show_toggle =“= SHOW”orderby =“sort_order”}
这是我不知道的某种注射吗?我已经搜索了文档,从我可以告诉我的类别规范应该覆盖url中的任何内容。我可能会搞砸了,但我可以做些什么。 我可以在频道模块中修改一些内容吗?
答案 0 :(得分:5)
在Channel Entries标记中未使用dynamic tag parameter,ExpressionEngine 期待一个网址段变量,以包含条目ID 或网址标题< / strong>您的参赛作品。
由于第三个网址段/index.php/one/two/three
不是数字条目ID或网址标题,因此您的频道条目查询不包含任何信息。
通过设置
dynamic="no"
,您将确保列表不会受到网址中传递的任何内容的影响。
由于您编写了非常具体的频道条目查询,请务必将dynamic="no"
添加到{exp:channel:entries}
代码循环,以使ExpressionEngine 忽略网址细分而是使用您提供的参数:
{exp:channel:entries channel="my_channel" dynamic="no" ...}
...
{/exp:channel:entries}
此外,通过在代码中添加简单的Conditional Variable,您可以在未返回结果时看到消息:
{exp:channel:entries channel="my_channel" ... }
{if no_results}Sorry, No Results{/if}
...
{/exp:channel:entries}
深入了解基本ExpressionEngine's URL概念和URL Segments对于理解和解决此类问题非常重要。
答案 1 :(得分:3)
ExpressionEngine查看/index.php/后面的段,如下所示:
因此,在您的情况下,EE希望从一个模板组加载两个模板,然后显示 my_channel <中的条目/ strong> ID为 18 的类别中的频道,其url_title为 3 。
您的类别说明仅覆盖网址中的任何类别信息。 (例如, / template_group / template / category / doorstops 或 / template_group / template / C10 不会影响您的示例中显示的条目)。
如果您希望{exp:channel:entries}
标记完全忽略该网址(分页除外),您可以将dynamic="off"
添加到代码参数中。