2012-01-27 29 views
4

快速問題...我有一個treelist,我希望查詢從我的內容樹的多個文件夾中提取。我如何設置從多個數據源中選擇?我在這方面沒有找到太多東西,我想知道它是否與更改我正在使用的查詢類型有關。現在,我已經在模板此查詢這個特定項目的樹形列表:多個DataSource for Treelist

DataSource=/Sitecore/Content/Home/Home Root/Industries/&IncludeTemplatesForDisplay=Industry Item,Additional Resources Grouping,Additional Resources Item&IncludeTemplatesForSelection=Industry Item,Additional Resources Grouping,Additional Resources Item 

我基本上要複製上面的查詢,也可以從/ Sitecore的/內容/首頁/主頁根/產品拉

有關如何完成此任務的任何建議?

+0

默認的treelist是不可能的。 – marto 2012-01-27 16:37:31

回答

4

我不認爲這支持多個datasource路徑,但是作爲this SDN forum thread suggests(來自John West),您可以使用getLookupSourceItems管道。

您還可以創建自定義的Treelist,以擴展內置的Treelist並在新的功能上公開此功能。您可以使用ILSpy來解編當前版本。

4

這顯然是超晚了,但爲了將來的參考我猜。我自己也有類似的問題,並且找到了它並找到了我認爲是解決方案(至少在Sitecore 6.4中)。

您可以選擇'ExcludeItemsForDisplay'以及一個ID列表。如果原路返回一個級別

「數據源=/Sitecore的/內容/首頁/主頁根」

並添加「ExcludeItemsForDisplay = {文件夾的ID忽略},{長ID出現在頂部快速信息},{etc}「,你應該能夠排除任何你不想出現的文件夾,只保留你想要的文件夾。

IncludeItemsForDisplay有點過於限制(有點我的意思是很多),除非你只有少數你想要的東西可用。

所以希望這有助於解決任何未來的問題。 (還是同樣的問題,如果你在黑客攻擊之前)

您的新源未當然也包括實際的ID:

DataSource=/Sitecore/Content/Home/Home Root&IncludeTemplatesForDisplay=Industry Item,Additional Resources Grouping,Additional Resources Item&IncludeTemplatesForSelection=Industry Item,Additional Resources Grouping,Additional Resources Item&ExcludeItemsForDisplay={12345678-1234-1234-123456789}, {#####-####-####}, {### etc} 

我希望這有助於(至少在未來的人,可能會遇到相同題)。

另外,作爲一個方面說明,由於手動更改排除聽起來令人沮喪的系統可能會改變,您的文件夾也有可以包含在IncludeTemplates中的模板。因此,如果您爲行業和產品提供特殊的文件夾模板,那麼也可以將其添加到IncludeTemplatesForDisplay字符串中。希望實現同樣更具可維護性的效果。我還沒有測試過。