==i-items.xsl

===Описание
Модуль для работы с элементами ##lego:item## -- строительные блоки элементов ##lego:b-dropdown##, ##lego:b-hmenu##, ##lego:b-head-tabs## и т.д.

{{TOC}}

===Где используется?
Везде, где компонент состоит из коллекции (почти) одинаковых элементов. Например:
  * ((../b-dropdown/b-dropdown.wiki lego:b-dropdown)) -- вертикальное меню-выпадушка
  * ((../b-hmenu/b-hmenu.wiki lego:b-hmenu)) -- горизонтальное меню
  * ((../b-head-menu/b-head-menu.wiki lego:b-head-menu)) -- содержит в себе ##lego:b-hmenu##
  * ((../b-head-tabs/b-head-tabs.wiki lego:b-head-tabs)) -- табы
  * ((../b-head-toolbar/b-head-toolbar.wiki lego:b-head-toolbar)) -- тулбар
  * ((../b-head-line/b-head-line.wiki lego:b-head-line/lego:path)) -- "хлебные крошки"

===XML-формат
%%(html)
<lego:item>...</lego:item>

<!-- выделенный каким-либо образом (зависит от компонента) элемент -->
<lego:item current="">...</lego:item>
%%

====Атрибуты ##id## и ##class##
%%(html)
<!-- элемент с заданными атрибутами id и class -->
<lego:item id="my-id" class="my-class">...</lego:item>
%%
Обычно ##lego:item## рендерится в ##td## или ##li##. Соответственно атрибуты ##id## и ##class##, заданные у ##lego:item##, попадают в ##td## или же в ##li##.

Тоже самое применимо и к элементам, вложенным в ##lego:item##. Всем им можно задавать при необходимости атрибуты ##id## и ##class##.

===Что может содержаться в ##lego:item##'ах

====lego:text
Просто текст или же текст с html-разметкой:
%%(html)
    ...
    <lego:item><lego:text>Поиск</lego:text></lego:item>
%%
На самом деле, можно писать и просто:
%%(html)
    <lego:item>Поиск</lego:item>
    ...
%%
Обертка в виде ##lego:text## нужна для:
  * наглядности
  * возможности как-то застайлить текст. Элемент ##lego:text## рендерится в ##span##, на который, в частности, можно навесить ##class## или ##id##.
Часто ##lego:text## сочетается с атрибутом ##current## у ##lego:item## -- текущую страницу в меню мы выделяем и не делаем ссылкой.

====lego:html
Текст с html-разметкой:
%%(html)
    ...
    <!-- <br/> не работает -->
    <lego:item>
        <lego:link url="/compose">Написать<br/>письмо</lego:link>
    </lego:item>
    <!-- <br/> работает -->
    <lego:item>
        <lego:link url="/compose">
            <lego:html>Написать<br/>письмо</lego:html>
        </lego:link>
    </lego:item>
%%

====lego:link
Ссылка:
%%(html)
    <lego:item><lego:link url="http://www.yandex.ru">Поиск</lego:link></lego:item>
    <lego:item><lego:text>Почта</lego:text></lego:item>
    ...
%%

Ссылка с иконкой, например в ##lego:b-hmenu##:
%%(html)
<lego:b-hmenu lego:theme="round">
    ...
    <lego:item>
        <lego:link class="club" url="/">
            <lego:b-icon/>
            <lego:text>Клуб Яндекс.Бара</lego:text>
        </lego:link>
    </lego:item>
</lego:b-hmenu>
%%

Ссылка, внутри которой html-разметка:
%%(html)
<lego:b-head-toolbar>
    ...
    <lego:item>
        <lego:link class="check" url="/"><lego:html>Проверить<br/>почту</lego:html></lego:link>
    </lego:item>
%%

====lego:button
Кнопка-иконка для использования в ##lego:b-head-toolbar##:
%%(html)
<lego:b-head-toolbar>
    ...
    <lego:item>
        <lego:button class="check" name="check" value="on">
            <lego:html>Проверить<br/>почту</lego:html>
        </lego:button>
    </lego:item>
%%

====lego:image
%%(html)
    ...
    <lego:item><lego:image src="/i/image.png"/></lego:item>
%%
Также ##lego:image## может быть внутри ##lego:link##.
%%(html)
    ...
    <lego:item>
        <lego:link url="/print/"><lego:image src="/i/print.png"/></lego:link>
    </lego:item>
%%

====lego:b-dropdown
((../b-dropdown/b-dropdown.wiki Описание блока lego:b-dropdown))

