当我向expressionengine url添加第三个段时,exp:channel:entries会停止返回结果

时间:2011-08-05 16:54:16

标签: expressionengine channel segments

我遇到的问题是,网址中的第三个“细分”会导致 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中的任何内容。我可能会搞砸了,但我可以做些什么。 我可以在频道模块中修改一些内容吗?

2 个答案:

答案 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/后面的段,如下所示:

  • 假设第一个细分受众群是模板组
  • 假设下一个细分受众群是该模板组中模板的名称
  • 假设第三段是条目的 url_title ,或者,如果细分是数字,则条目的 entry_id

因此,在您的情况下,EE希望从一个模板组加载两个模板,然后显示 my_channel <中的条目/ strong> ID为 18 的类别中的频道,其url_title为 3

您的类别说明仅覆盖网址中的任何类别信息。 (例如, / template_group / template / category / doorstops / template_group / template / C10 不会影响您的示例中显示的条目)。

如果您希望{exp:channel:entries}标记完全忽略该网址(分页除外),您可以将dynamic="off"添加到代码参数中。