Movabletype MT:搜索页面上的条目未正确返回结果
我正在一个博客中建立一个搜索结果页面。我已经重写了URL,以便:Movabletype MT:搜索页面上的条目未正确返回结果,movabletype,Movabletype,我正在一个博客中建立一个搜索结果页面。我已经重写了URL,以便: /blog/tag/foo 将返回foo的搜索结果 在模板中,我想返回所有标记为“foo”的帖子的列表,因此我创建了一个MT:Entries块,它开始: <mt:Entries tag="<$mt:SearchString$>"> 但它没有返回任何结果。但是,在页面上放置输出“foo”就可以了 所以我试了一下: <mt:Entries tag="foo"> 它将正确返回所有使用
/blog/tag/foo
将返回foo的搜索结果
在模板中,我想返回所有标记为“foo”的帖子的列表,因此我创建了一个MT:Entries块,它开始:
<mt:Entries tag="<$mt:SearchString$>">
但它没有返回任何结果。但是,在页面上放置输出“foo”就可以了
所以我试了一下:
<mt:Entries tag="foo">
它将正确返回所有使用foo标记的结果。我看不出另一个应该工作的原因——有什么想法吗?不能将标记用作参数值。您必须通过变量传递它,如下所示:
<mt:setvarblock name="q"><$mt:SearchString$></mt:setvarblock>
<mt:Entries tag="$q">
之所以
有效,是因为您告诉Movable Type显式抓取标记为“foo”的条目。这是您在大多数模板中应该做的,但是搜索结果系统模板是不同的
虽然Francois提供的示例应该有效,但它不是在搜索结果系统模板中获取“标记搜索”结果的预期方法
在搜索结果模板中,使用
块标记代替
块标记
您的代码应该如下所示:
<mt:SearchResults>
<mt:IfTagSearch>
<!-- Template tags for "tag search" results -->
</mt:IfTagSearch>
<mt:IfStraightSearch>
<!-- Template tags for "text search" results -->
</mt:IfStraightSearch>
</mt:SearchResults>
有关更详细的示例,请查看“Classic Blog”模板集中默认搜索结果模板中的代码(随附可移动类型),并修改工作(和测试)代码。而变量插值[1](弗朗索瓦在此使用的方法)应能在大多数模板中工作,它不是在搜索结果系统模板中循环标记搜索结果的预期方法。更多信息请参见我对这个问题的回答。[1]