是否可以直接從xslt設置文檔類型屬性的值?我的頁面標題需要根據xslt結果進行更改,頁面標題通過屬性進行設置。Umbraco:從xslt設置文檔屬性
一直在用谷歌搜索,但沒有找到我在找什麼,所以想我會問在這裏的umbraconians!
謝謝
是否可以直接從xslt設置文檔類型屬性的值?我的頁面標題需要根據xslt結果進行更改,頁面標題通過屬性進行設置。Umbraco:從xslt設置文檔屬性
一直在用谷歌搜索,但沒有找到我在找什麼,所以想我會問在這裏的umbraconians!
謝謝
據我所知,xslt是隻讀的。你可以有條件地改變在宏中顯示的標題(如果這樣,然後顯示標題屬性,否則顯示其他標題),或者如果你真的想設置屬性,我會建議使用剃刀腳本:Umbraco - how to set the value of a property using razor script
如上所述,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>
哇這是罕見的...只有2個視圖到目前爲止,一個是從我自己.. – user446923