2012-05-17 55 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>