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



我遇到了一个问题,在url中的第三个"段"将导致ALL exp:channel:entries停止返回结果。

url示例:
工作正常: siteurl.com/index.php/one/two
不工作: siteurl.com/index.php/one/two/three

示例条目Pull:
{exp:channel:entries channel="my_channel" category="18" sort="asc" search:show_toggle="=SHOW" orderby="sort_order"}

这是我不知道的某种注射吗?我已经搜索了文档,从我可以告诉我的一个类别的规格应该覆盖url中的任何内容。我也许搞砸了,但我总能做点什么吧。我可以在通道模块中修改什么?

在Channel Entries标签中不使用动态标签参数,ExpressionEngine 期望 URL段变量包含条目IDURL标题条目。

由于第三个URL段/index.php/one/two/three不是数字条目ID或URL标题,您的通道条目查询不包含任何信息。

通过设置dynamic="no",您将确保列表不受URL中传递的任何内容的影响。

既然你已经写了一个非常具体的通道条目查询,一定要添加dynamic="no"到你的{exp:channel:entries}标记循环有ExpressionEngine 忽略URL段,而不是使用你提供的参数:

{exp:channel:entries channel="my_channel" dynamic="no" ...}
    ...
{/exp:channel:entries}

此外,通过在代码中添加一个简单的条件变量,当没有返回结果时,您将能够看到一条消息:

{exp:channel:entries channel="my_channel" ... }
    {if no_results}Sorry, No Results{/if}
    ...
{/exp:channel:entries}

了解基本的ExpressionEngine的URL概念和URL段对于理解和排除此类问题非常重要。

ExpressionEngine查看/index.php/后面的段,如下所示:

  • 假定第一个段为模板组
  • 下一个段假定为该模板组中的模板的名称
  • 第三段被假定为条目的url_title,或者,如果段是数字,条目的entry_id

因此,在您的情况下,EE希望从一个模板组加载两个模板,然后显示my_channel通道中的条目,该通道位于ID为18的类别中,并且具有三个的url_title。

您的类别规范仅覆盖URL中的任何类别信息。(例如,/template_group/template/category/doorstops/template_group/template/C10不会影响在示例中显示哪些条目)。

如果你想让你的{exp:channel:entries}标签完全忽略URL(除了分页),你可以添加dynamic="off"到你的标签参数

相关内容

  • 没有找到相关文章

最新更新