C# Umbraco在xslt中的发布日期
许多人指出,Umbraco仅将节点createDate和updateDate存储在Umbraco.config中(当您想对Umbraco内容的xslt转换进行编码时) 但我需要能够在xslt转换中显示发布日期 现在,在计算出Umbraco数据库中的cmsContentVersion.VersionDate是节点发布日期,cmdDocument.updateDate是最后更新的日期之后,我可以创建一个触发器,每当发布日期更改时,该触发器都会更改updateDate以匹配发布日期,并使用以下xsl:C# Umbraco在xslt中的发布日期,c#,sql,xslt,umbraco,C#,Sql,Xslt,Umbraco,许多人指出,Umbraco仅将节点createDate和updateDate存储在Umbraco.config中(当您想对Umbraco内容的xslt转换进行编码时) 但我需要能够在xslt转换中显示发布日期 现在,在计算出Umbraco数据库中的cmsContentVersion.VersionDate是节点发布日期,cmdDocument.updateDate是最后更新的日期之后,我可以创建一个触发器,每当发布日期更改时,该触发器都会更改updateDate以匹配发布日期,并使用以下xsl:
<xsl:value-of select="umbraco.library:FormatDateTime(@updateDate, 'd MMM yyyy hh:mm')"/>
。。。但是如何在xslt中翻译这个C?将xslt重写为ascx宏不是一个选项。您可以使用xslt扩展。请参见本教程(http://www.nibble.be/?p=60),但我在这里改编了它
<ext assembly=”\bin\MyProject” type=”MyProject.Extensions” alias=”MyExtensions”></ext>
<xsl:stylesheet
version=”1.0″
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”
xmlns:msxml=”urn:schemas-microsoft-com:xslt”
xmlns:umbraco.library=”urn:umbraco.library”
xmlns:BlogLibrary=”urn:MyExtensions”
exclude-result-prefixes=”msxml umbraco.library MyExtensions”>
<xsl:value-of select="MyExtensions:ReleaseDate($myNodeId)" />
希望这能有所帮助。非常感谢,这适用于发布日期,并公开了一系列其他可能有用的属性。请注意,通过使用文档API,您将在每次获得发布日期时访问数据库,这将影响性能。有关更多详细信息,请参阅。
<xsl:value-of select="MyExtensions:ReleaseDate($myNodeId)" />