2011-02-16 56 views
1

我完全是Umbraco和.net的新手。 我有一個母版頁和幾個字段 - 現在我只想顯示一個母版頁的一部分,只有當一個特定的字段不是空的。umbraco - masterpage:「if field is not empty then show field」

僞代碼:

if(myField != NULL) then 
<div class="something"> 
<umbraco:Item field="myField" runat="server"></umbraco:Item > 
</div> 
endif; 

安迪想法是如何工作的?

提前致謝!

回答

2

感謝有用的umbraco irc頻道,我找到了解決方案。 答案是創建一個xslt文件+宏(它是自動生成的)。

XSLT內容:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]> 
<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:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" 
    exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets "> 


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

<xsl:param name="currentPage"/> 

<xsl:template match="/"> 

<xsl:variable name="myField" select="$currentPage/myField" /> 

<xsl:if test="$myField!= ''"> 
     <xsl:value-of select="$myField" /> 
</xsl:if> 


</xsl:template> 

</xsl:stylesheet> 

母版內容:

<body> 
.... 
<umbraco:Macro Alias="MyField" runat="server"></umbraco:Macro> 
.... 
</body> 
相關問題