361
Шаблоны XSLT / Re:Position в выборке
« : 21 Мая 2013, 17:55:46 »
Жаль. А можно адрес сайта в личку? Может, что-то еще в голову придет.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
<xsl:template match="udata[@method = 'menu'][items/item]" mode="bottom_menu">
<xsl:template match="udata[@method = 'menu'][items/item[extended//property[@name = 'bottom_menu']/value]]" mode="bottom_menu">
может уже ну его, через макрос menu, может через usel попробовать? там при выборке сразу можно будет поставить проверку на это поле bottom_menu
P.S. Кстати, этот то вариант работает?
<xsl:apply-templates select="document('udata://content/menu/?extProps=bottom_menu')/udata" mode="bottom_menu" />
<xsl:template match="udata[@method = 'menu']" mode="bottom_menu" />
<xsl:template match="udata[@method = 'menu'][items/item]" mode="bottom_menu">
<ul>
<xsl:apply-templates select="items/item" mode="bottom_menu" />
</u>
</xsl:template>
<xsl:template match="item" mode="bottom_menu" />
<xsl:template match="item[extended//property[@name = 'bottom_menu']/value]" mode="bottom_menu">
<li>
<xsl:apply-templates select="." mode="additional-class" />
<a href="{@link}" ><xsl:value-of select="." /></a>
</li>
</xsl:template>
<xsl:template match="item" mode="additional-class" />
<xsl:template match="item[first()]" mode="additional-class">
<xsl:attribute name="class">first</xsl:attribute>
</xsl:template>
Добрый день всем! У меня такой вопрос? Есть меню не обычное, а с картинками. Не могу догнать как его реализовать. Вот само меню с картинками
Можно и в большинстве случаев именно так я и делаю и рекомендую делать слушателям курсов, но <xsl:if /> все равно продолжаю использовать.Например, в ситуации, когда мне надо добавить класс в верстку в зависимости от позиции элемента в xml документе (особенно если их несколько, например класс для первого, для последнего, для четного). В этом случае удобнее делать это в одном шаблоне иначе сэкономив на быстроте выполнении той или иной организации шаблона, вы можете потерять в скорости обработки из-за возрастания количества шаблонов.
<li>
<xsl:attribute name="class"><xsl:apply-templates select="." mode="additional-class" /></xsl:attribute>
</li>
<xsl:template macth="item[first()]" mode="additional-class">first</xsl:template>
<xsl:template macth="item[last()]" mode="additional-class">last</xsl:template>
<li>
<xsl:apply-templates select="." mode="additional-class" />
</li>
<xsl:template macth="item" mode="additional-class" />
<xsl:template macth="item[first()]" mode="additional-class">
<xsl:attribute name="class">first</xsl:attribute>
</xsl:template>