2012-05-17 86 views
0

是否可以直接從xslt設置文檔類型屬性的值?我的頁面標題需要根據xslt結果進行更改,頁面標題通過屬性進行設置。Umbraco:從xslt設置文檔屬性

一直在用谷歌搜索,但沒有找到我在找什麼,所以想我會問在這裏的umbraconians!

謝謝

+0

哇這是罕見的...只有2個視圖到目前爲止,一個是從我自己.. – user446923

回答

1

如上所述,XSLT是隻讀的,所以沒有辦法修改屬性,使得頁面渲染時會受到影響。

但是,您可以在標題標籤之間插入一個額外的XSLT宏。這個宏可以使用匹配模板。這使您可以執行不同的操作,具體取決於您正在處理的XML節點。

由於數據存儲在Umbraco 4.7.x中,「文檔類型別名」用作XML節點。這意味着我們可以匹配您的搜索頁面(只要它有它自己的DocType)。

只需更新「搜索」到您的文檔類型的名稱。

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet 
version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:umb="urn:umbraco.library" 
exclude-result-prefixes="umb" 
> 

    <xsl:output method="xml" omit-xml-declaration="yes"/> 
    <xsl:param name="currentPage"/> 

    <!-- Match Templates --> 
    <xsl:template match="/"> 
    <xsl:apply-templates select="$currentPage" /> 
    </xsl:template> 

    <!-- Search --> 
    <xsl:template match="search"> 
    WooHoo! I'm the Search page! 
    </xsl:template> 

    <!-- All other pages --> 
    <xsl:template match="*[@isDoc]"> 
    <xsl:value-of select="@nodeName" /> 
    </xsl:template> 

</xsl:stylesheet>