我有一些具有父/子依赖项的项目:
项目 1 -> 项目 2 -> 项目 3
它们具有相同名称的字段:“主要信息”。他们中的一些人填写了这个字段,其中一些人的“主要信息”为空。主要目标:如果选择了填充“主要信息”的页面 - 显示此信息。如果选择了空白“主要信息”的页面 - 显示来自祖先的信息。所以我有渲染:
<xsl:variable name="home" select="$sc_currentitem/ancestor-or-self::*[contains(@template, 'page') and @Main Info != '']" />
<!-- entry point -->
<xsl:template match="*">
<xsl:apply-templates select="$home" mode="main"/>
</xsl:template>
<xsl:template match="*" mode="main">
<sc:text field="Right Footer Text" />
</xsl:template>
这说明什么。
<xsl:variable name="home" select="$sc_currentitem/ancestor-or-self::*[contains(@template, 'page')]" />
<xsl:template match="*">
<xsl:apply-templates select="$home" mode="main"/>
</xsl:template>
<xsl:template match="*" mode="main">
<sc:text field="Right Footer Text" />
</xsl:template>
这显示了来自所选项目的每个祖先的“主要信息”。
我怎样才能只获得一个“主要信息”?如果此字段不为空,则来自所选项目,或者来自填充了“主要信息”的第一个父项目。