#firefox #xslt #macros #umbraco
#firefox #xslt #макросы #umbraco
Вопрос:
У меня возникли проблемы с макросом меню в Umbraco..
Мой макрос возвращает ul с элементами li, по одному для каждой страницы.
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:param name="currentPage"/>
<xsl:variable name="level" select="1"/>
<xsl:template match="/">
<ul>
<xsl:for-each select="$currentPage/ancestor-or-self::* [@isDoc and @level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<li>
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:if test="$currentPage/ancestor-or-self::*/@id = current()/@id">
<xsl:attribute name="class">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@nodeName"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template>
Проблема, с которой я столкнулся, заключается в том, что две страницы дублируются, хотя у меня есть только по одной из них, и ссылки на них работают и указывают на одну и ту же страницу.
У меня также есть другая проблема, и она заключается в том, что последний элемент li не помещен, но только в Firefox … Chrome и Safari работают нормально…
Есть идеи?
Комментарии:
1. Привет, Бек, есть ли шанс, что ты сможешь опубликовать свою правку в качестве ответа, чтобы было очевидно, что на вопрос действительно был дан ответ, и чтобы помочь людям в будущем. 🙂
Ответ №1:
Решение было раздражающе простым, просто «переиздать весь сайт», и все проблемы остались в прошлом. Я предполагаю, что некоторые вещи застряли в кэше…
Комментарии:
1. Привет, Бек, можешь ли ты принять свой собственный ответ. Для получения дополнительной информации, XSLT запускается с файлом umbraco.config, который представляет собой кэш XML-файла в каталоге ~/App_Data. Иногда этот кэш требует «принудительного» обновления с использованием опции «Опубликовать весь сайт».