跳轉到內容

Umbraco/參考/umbraco.library/RenderMacroContent

來自華夏公益教科書,開放的書籍,開放的世界

執行宏並將輸出插入您的 XSLT。

RenderMacroContent(String Text, Int32 PageId)

Text:模板“宏”程式碼的編碼版本(有關正確編碼,請參見下文)

PageId:您要用於宏內容的節點的 NodeID

字串文字編碼說明

[編輯 | 編輯原始碼]

當您將宏程式碼放在模板中時,它看起來像這樣

<?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"></?UMBRACO_MACRO>

要為 RenderMacroContent 函式編碼此內容,請執行以下步驟

1. 將“<”更改為“&lt;”

&lt;?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3">&lt;/?UMBRACO_MACRO>

2. 將“>”更改為“&gt;”

&lt;?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"&gt;&lt;/?UMBRACO_MACRO&gt;

3. 將“"”更改為“&quot;”

&lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;

4. 將其放入 XSLT 時,將整個內容用單引號括起來

umbraco.library:RenderMacroContent('&lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;'...

示例 XSLT 用法

[編輯 | 編輯原始碼]

<xsl:value-of select="umbraco.library:RenderMacroContent('<?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"></?UMBRACO_MACRO>', @id)" disable-output-escaping="yes"/>

此字串當然應該被編碼,所以它看起來像這樣

<xsl:value-of select="umbraco.library:RenderMacroContent('&lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;', @id)" disable-output-escaping="yes"/>

小貼士:用於為您進行編碼的 XSLT

[編輯 | 編輯原始碼]

如果您希望能夠將標準模板宏程式碼“剪下並貼上”到您的 XSLT 中並讓它正確編碼,請將這段程式碼新增到一個新的 XSLT 中

<xsl:variable name="Macro"> <xsl:value-of select="{將您的模板宏程式碼貼上到這裡}"/> </xsl:variable> <xsl:variable name="MacroEncoded"> <xsl:value-of select="umbraco.library:Replace(umbraco.library:Replace(umbraco.library:Replace($Macro, '"', '&quot;'), '>', '&gt;'), '<', '&lt;')"/> </xsl:variable>

然後使用它將編碼後的 XSLT 呈現到瀏覽器中的測試頁面(然後您可以將它剪下並貼上到您的 XSLT 程式碼中)

<xsl:value-of select="$MacroEncoded" />


版本 4 警告

[編輯 | 編輯原始碼]

警告,Umbraco 4 中帶有新模板的宏具有不同的語法,但是 XSLT 擴充套件仍然需要舊的 v3 語法,因此如果您將插入 v 4 模板中的宏複製過來,則需要將其更改為 v3

例如

<umbraco:Macro Alias="Name" runat="server"></umbraco:Macro>

變為

<?UMBRACO_MACRO macroAlias="Name" runat="server"></?UMBRACO_MACRO>

(帶轉義)

華夏公益教科書