2009-11-13 47 views
0

我建立了一個搜索結果頁面博客內上正確返回結果。我已經重寫了URL,以便:MT:項未搜索頁面

/blog/tag/foo 

將返回foo的搜索結果。

在模板中,我想返回標記有「富」的所有帖子的列表,所以我做了一個MT:

<mt:Entries tag="<$mt:SearchString$>"> 

但它:啓動項塊沒有結果返回。然而,放在頁面上輸出'foo'就好了。

所以,我想這一點:

<mt:Entries tag="foo"> 

,並返回正確的結果都會被標記以foo。我沒有看到其他人應該工作的原因 - 任何想法?

回答

1

不能使用標籤作爲參數值。你必須通過一個變量來傳遞,就像這樣:

<mt:setvarblock name="q"><$mt:SearchString$></mt:setvarblock> 
<mt:Entries tag="$q"> 
+0

當變量代換[1](弗朗索瓦使用此方法)應在大多數模板的工作,它不是通過在搜索結果的系統模板標籤搜索結果中循環的預期方法。更多信息在我對這個問題的答案。 [1] http://www.movabletype.org/documentation/designer/variable-interpolation.html – 2010-01-04 09:04:56

1

爲什麼<mt:Entries tag="foo">工作的原因是因爲你告訴Movable Type的明確搶條目標記爲「foo」。這是您應該如何在大多數模板中執行此操作的方式,但搜索結果系統模板是不同的。

雖然示例弗朗索瓦報價應該工作,這不是預期的方法來獲得在搜索結果的系統模板「標籤搜索」的結果。

代替 <mt:Entries>塊標記

在搜索結果的模板,使用<mt:SearchResults>塊標記。

你的代碼應該是這個樣子:

<mt:SearchResults> 
    <mt:IfTagSearch> 
     <!-- Template tags for "tag search" results --> 
    </mt:IfTagSearch> 
    <mt:IfStraightSearch> 
     <!-- Template tags for "text search" results --> 
    </mt:IfStraightSearch> 
</mt:SearchResults> 

對於更詳細的例子,來看看在「經典博客」模板設置在默認的搜索結果模板的代碼(附帶的可移動鍵入)並修改工作(和測試)代碼。