Php ExpressionEngine no_结果不工作

Php ExpressionEngine no_结果不工作,php,codeigniter,expressionengine,Php,Codeigniter,Expressionengine,嗨,我有以下代码: <div class="row-fluid"> <div class="span12"> <h3>Top 10 most popular</h3> <ul> {exp:channel:entries channel="faqs" dynamic="no" limit="10"} <li><a href="

嗨,我有以下代码:

<div class="row-fluid">
    <div class="span12">
        <h3>Top 10 most popular</h3>
        <ul>
            {exp:channel:entries channel="faqs" dynamic="no" limit="10"}
                <li><a href="{url_title_path='help'}">{title}</a></li>
            {/exp:channel:entries} 
        </ul>

        <h3>Answer to selected question</h3>
        {exp:channel:entries channel="faqs" dynamic="yes" require_entry="yes" limit="1"}
             {if no_results} 
                <p>Click a question above to see the answer here</p>
             {/if}
            {answer}
        {/exp:channel:entries} 
    </div>    
</div>

前十名最受欢迎
    {exp:channel:entries channel=“faqs”dynamic=“no”limit=“10”}
  • {/exp:channel:entries}
对选定问题的答复 {exp:channel:entries channel=“faqs”dynamic=“yes”require\u entry=“yes”limit=“1”} {如果没有结果} 单击上面的问题,在此处查看答案

{/if} {答案} {/exp:channel:entries}
正如你所看到的,我正在两次循环阅读常见问题。第一个循环将其设置为获取所有问题,然后如果用户单击某个问题,则第二个循环应开始向他们显示答案。除了第二个循环中的no-results语句不起作用之外,这工作正常。它永远不会得到输出。有人知道为什么吗?

您必须添加

require_entry="yes"
到第二个循环,以使“无结果”有效


请参阅此处的文档

因为您在评论中提到您正在使用Stash,下面的内容应该不会得到预期的结果。我刚刚测试过这个,它对我有效

在此处下载测试版的Stash(目前为v2.3.5)

请参阅GitHub页面上的文档

您没有显示包装模板代码的周围隐藏标记,但假设它是
Stash:set
标记,请按如下方式更新模板:

{exp:stash:set name="page_content" no_results_prefix="stash"}
    <div class="row-fluid">
        <div class="span12">

            [...]

            <h3>Answer to selected question</h3>
            {exp:channel:entries channel="faqs" dynamic="yes" require_entry="yes" limit="1"}
                {!-- note prefix, which was defined in outer stash:set tag --}
                {if stash:no_results} 
                    <p>Click a question above to see the answer here</p>
                {/if}
                {answer}
            {/exp:channel:entries} 
        </div>    
    </div>
{/exp:stash:set}
{exp:stash:set name=“page\u content”无结果\u prefix=“stash”}
[...]
对选定问题的答复
{exp:channel:entries channel=“faqs”dynamic=“yes”require\u entry=“yes”limit=“1”}
{!--注意前缀,它是在外部存储中定义的:set标记--}
{如果隐藏:没有结果}
单击上面的问题,在此处查看答案

{/if} {答案} {/exp:channel:entries} {/exp:stash:set}
我向Ellisab报告这是一个bug。它肯定没有发挥应有的作用

这仍然不起作用。我已经更新了问题中的代码,以反映两个循环是否显示在同一页面上,没有其他条目\u id或url\u标题段?您是否碰巧在模板中使用了隐藏和“模板部分”方法<代码>无结果在这种情况下无法正常工作。如果你是这样的话,那可能会有所帮助。是的,我正在使用藏品。对不起,我没有意识到这是个问题,否则我会提到它的,我不知道现在我看它是不是真的。我有一些网站使用模板分区方法,
no_results
标记似乎可以很好地重定向到404模板,尽管我可以发誓我以前看到它不起作用。你在使用什么版本的隐藏?我在上面的评论中链接到的线程已经过时了。我发现获得
no_results
使用Stash只需使用beta版本和
no_results_前缀即可(请参阅下面的答案)。