DotNetNuke DDRMenu: узел вывода не включен в меню breadcrumb xslt dnn
У меня возникают проблемы при попытке получить следующий шаблон XSLT для DotNetNuke DDRMenu, чтобы он выплевывал последнюю страницу / узел крошки для следующих условий:
- последняя страница НЕ "Включить (d) в меню" в настройках своей страницы
- однако последняя страница является дочерней по отношению к родительскому узлу (который отображается в моем выводе)
Как получить страницу, не включенную в меню, для вывода в конце моей крошки из следующего шаблона XSL?:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:param name="separator"></xsl:param>
<xsl:template match="/*">
<xsl:apply-templates select="root" />
</xsl:template>
<xsl:template match="root">
<ul>
<xsl:apply-templates select="//node[@breadcrumb=1]" />
</ul>
</xsl:template>
<xsl:template match="node">
<li>
<xsl:choose>
<xsl:when test="@enabled = 1">
<a href="{@url}" title="{@title}">
<xsl:value-of select="@text" />
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@text" />
</xsl:otherwise>
</xsl:choose>
</li>
</xsl:template>
</xsl:stylesheet>
1 ответ
Я узнал, что мой XSLT-код в порядке.
Проблема заключалась в том, что в моем теге объекта обложки ascx отсутствовал параметр атрибута, позволяющий выводить скрытые страницы. Добавление IncludeHidden="true" в тег объекта обложки решило проблему.
Пример ниже:
<ddr:MENU MenuStyle="breadcrumb" IncludeHidden="true" runat="server" />
Этот ресурс (http://www.dotnetnuke.com/Resources/Wiki/Page/DDRMenu-reference-guide.aspx#IncludeHidden_5) сообщает:
IncludeHidden
Только для DotNetNuke 6, если установлено значение "true", скрытые страницы будут включены. Это может быть полезно для создания отдельных меню для отображения разделов сайта, которые скрыты от главного меню.