пятница, 8 апреля 2011 г.

Создание сайта. Шаг 9. Закрепляем понятие модулей и макросов. Хлебные крошки.

Теперь, мы можем создавать простые сайты, состоящие из набора текстовых страниц с меню. Давай те попробуем создать еще один простой модуль, называемый "Хлебные крошки". Повторим действия из шестого шага.

Входим в систему управления, переходим в раздел "Developer", находи раздел "XSLT Files", нажимаем правую кнопку мыши, появляется всплывающее меню:


Выбираем "Create":


 Вводим в поле "Filename (without .xslt)" название файла "Хлебные крошки". В поле "Choose a template"выбираем шаблон "Breadcrumb". Разработчики системы управления, позаботились о том, что бы мы не писали стандартные куски кода, и добавили шаблоны! "Breadcrumb" этот шаблон создает скрипт, который выводит так называемые "Хлебные крошки".

Нажимаем "Create" в итоге появится  следующий скрипт:


<?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:variable name="minLevel" select="1"/>

  <xsl:template match="/">

    <xsl:if test="$currentPage/@level &gt; $minLevel">
      <ul>
        <xsl:for-each select="$currentPage/ancestor::* [@level &gt; $minLevel and string(umbracoNaviHide) != '1']">
          <li>
            <a href="{umbraco.library:NiceUrl(@id)}">
              <xsl:value-of select="@nodeName"/>
            </a>
          </li>
        </xsl:for-each>
        <!-- print currentpage -->
        <li>
          <xsl:value-of select="$currentPage/@nodeName"/>
        </li>
      </ul>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>​

Для того что бы наш скрипт заработал, надо подправить единственный параметр minLevel, начиная с какого уровня показывать, я установлю значение 0.

Готово! Теперь добавьте модуль в "Базовый шаблон".

Комментариев нет:

Отправить комментарий