2011-03-22 61 views
0

我有一把umbraco宏,我想傳遞一個「清單」的說法來—即我有我用XSLT轉換多個元素,我想改變一些人在一個「特殊」的方式。如何將一個「列表」參數傳遞給Umbraco宏?

理想我想試試這樣的:

<umbraco:Macro Alias="DoStuff" runat="server"> 
    <styleThisSpecially>NameOfElement1</styleThisSpecially> 
    <styleThisSpecially>NameOfElement2</styleThisSpecially> 
</umbraco:Macro> 

遺憾的是,似乎沒有工作—了「styleThisSpecially」元素不被識別。

解決方法我能想到的是:通過像 「styleThisSpecially1」, 「styleThisSpecially2」, 「styleThisSpecially3」,論據

  1. ...
  2. 穿過我的論點爲逗號分隔像列表「 styleThisSpecially ='val1,val2,val3'「

...但這兩個選項都不是很」整潔「。我嘗試在umbraco:Macro元素上使用多個「styleThisSpecially」屬性,但是導致錯誤(「該標籤包含重複的'expandBox'屬性」)。

是否有一個乾淨整潔的方式做到這一點?

+1

「我想變換有的是在一個‘特殊’的方式」用不同的'mode'轉化不成問題? – Flack 2011-03-22 09:00:08

+0

@Flack:這是個不錯的主意。這個宏正在瀏覽所有當前頁面的子頁面,並以一種方式爲大多數頁面設計一個鏈接,然後以另一種方式設計「重要」(由客戶定義)的樣式(也許就像添加一個「突出顯示」類—這不是真的發生了什麼,但你明白了)。我想我只是通過一個「特殊」節點的列表作爲參數。但是,現在我想我只是將屬性添加到「特殊」子頁面,並讓XSLT以不同的方式處理它們。它實際上應該更清潔。 – George 2011-03-22 12:47:17

+0

我仍然有興趣知道,如果有通過對一把umbraco宏傳遞的參數「清單」的方式,但現在我覺得我原來的問題是,在一個整潔的方式解決。感謝Flack的想法。 – George 2011-03-22 12:53:57

回答

0

如果我理解正確你開始在「X點」和工作了所有的元素,你想他們都傳遞給宏作爲一個列表。 可能是一個整潔的解決方案有兩種情況:1。 讓頁面不僅可以找到的元素,而且還重複這些,每次經過他們一到宏「呈現/處理/不管」 2.通「X點」宏觀,讓宏觀工作了什麼是元素?

沒有真正回答您是否可以將元素列表傳遞給宏的問題,但我想也許(當然,如果您在XSLT中工作),這很少是您想要做的事情。