簡體   English   中英

可移動類型存檔頁面 - 顯示頂級類別或其子類別中的所有條目

[英]Movable Type archive pages – show all entries in a top-level category or its subcategories

我有一個MT博客。 最初它有一堆類別:

  • 蘋果
  • 香蕉
  • 葡萄

我們擴展了內容並創建了一些父類別:

  • 動物
  • 蔬菜
    • 蘋果
    • 香蕉
    • 葡萄
  • 礦物

所有新編寫的條目均已添加到頂級類別和適當的任何子類別中。 但是,舊條目僅用它們所屬的原始類別(現在是子類別)進行標記。 因此,舊條目不會出現在頂級類別(Animal /,Vegetable /或Mineral /)的類別索引頁面中。

我們不需要手動編輯每個舊條目來添加正確的頂級類別。 有沒有辦法告訴類別存檔/索引頁面包含在TLC或其子類別中的任何條目,而不重復條目? 換句話說,“礦物”應列出礦物,鐵,銅或銀中的唯一條目。

還有其他建議嗎?

如果您處於“條目列表”(類別檔案)上下文/模板中,則足以添加:

include_subcategories="1"

到你的'mt:Entries'循環,就像這個樣本一樣:

<mt:Entries include_subcategories="1">
...
</mt:Entries>

您可能必須直接向父/頂級類別添加至少一個條目才能生成頁面。

更新:正如Mihai所指出的,你實際上可以使用include_subcategories="1"修飾符來完成此操作。 經過測試和驗證,無需插件。 將我的解決方案保存在一個更復雜的模塊中,該模塊需要完全從其他類別提取條目。 ;-)


默認情況下這很困難,因為Movable Type的條目列表模板會自動繼承從中提取條目或頁面的特定上下文。

一種可能的解決方案是使用Out Of Context插件,它為您提供了一個新的OutOfContext塊標記,您可以使用該標記來突破當前限制您從特定類別中提取條目的上下文。

您的代碼可能類似於:

<mt:CategoryLabel setvar="cat_label">

<mt:OutOfContext>
  <mt:Entries category="$cat_label" include_subcategories="1" lastn="0">
    <!-- entry code here -->
  </mt:Entries>
</mt:OutOfContext>

我沒有測試這個特定的示例,所以請嘗試告訴我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM