【问题标题】:Can I filter search results by using the segment in ExpressionEngine?我可以使用 ExpressionEngine 中的细分过滤搜索结果吗?
【发布时间】:2012-10-29 23:44:17
【问题描述】:

我正在尝试根据具有某个变量的条目数量在表达式引擎中读取单数或复数,但没有任何运气。这是目前的情况:

exp:channel:entries channel="specialist" dynamic="no" search:sp_specialty="={segment_2}" }
  {if total_entries <= 1 }
    OUR SPECIALIST
  {if:else}
    OUR SPECIALISTS
  {/if}
{/exp:channel:entries}

我可以使用分段值匹配搜索吗?现在它不工作。更简单的方法?

【问题讨论】:

  • 究竟是什么不工作?条件还是搜索/归档?
  • 认为是我的大脑不工作,我可以按 segment_2 搜索,但我的变量不匹配。我会发布解决方案

标签: search expressionengine


【解决方案1】:

试试这个:

{exp:channel:entries 
    channel="specialist"
    dynamic="no"
    search:sp_specialty="={segment_2}"
}
    {if count == '1'}
        {if total_results == '1'}
            OUR SPECIALIST
        {if:else}
            OUR SPECIALISTS
        {/if}
    {/if}
{/exp:channel:entries}
  • 您想使用total_results 而不是total_entries
  • 检查 1 个或更少的结果是多余的,因为如果没有结果,通道条目标记将不输出任何内容(除非您使用 {if no_results} 标记对)。

【讨论】:

  • 有什么方法可以防止多次显示“我们的专家”?如果我添加 limit="1" 我的 total_results 出来为 1。我正在尝试向列表中添加一个单数或复数的标题。似乎这比应该的更难拉......
  • 当然,只需添加一个{if count == '1'} 包装器。老实说,我们可能正处于使用查询模块更有意义的地步,但我已经修改了我的代码示例,它应该可以按预期工作。
  • 谢谢!工作完美。我将更多地研究查询模块,但这可以解决问题。
猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
相关资源
最近更新 更多