Логотип персонального сайта Н.И.Жарких
Письмо на сайт
Версия для печати
Лента новостей (RSS)
Смерека / Смеретеги / Агрегаторы

Смерека

Смеретеги

Агрегаторы

Смеретеги-агрегаторы подобны операторам цикла в языках программирования: они получают HTML код со смеретегами и вычисляют его (выполняют подстановку смеретегов) для определенного списка вершин. Результирующий HTML код является суммой HTML кодов, вычисленных для отдельных вершин.

Чаще всего агрегаторы применяются для генерации навигаторов – различных списков ссылок на вершины; но они могут применяться для формирования разнообразных отчетов, каталогов и других данных, для которых нужно объединять информацию из нескольких вершин.

Хотя базовый набор модулей Смереки включает множество различных агрегаторов, предусмотреть все случаи их применения невозможно, и программист Смереки довольно часто встречается с необходимостью написать собственные агрегаторы.

SmerAgregator

Модуль: agregator.php

Параметры: SmerekaValue Node LimitToClass HideMode

Назначение: выполняет вычисления HTML кода, переданного в параметре SmerekaValue, для дочерних вершин базовой вершины. Если параметр Node задан, он определяет ид базовой вершины; если он не задан, базовой считается контекстная вершина. Если параметр LimitToClass задан как ид класса, из числа дочерних вершин будут отобраны только вершины заданного класса. Если параметр HideMode = 1, агрегатор будет пропускать такие дочерние вершины, для которых атрибут Hidden = True.

Пример вызова. Выводим список статей, подчиненных определенной вершине:

<Smereka1 Module="agregator.php" Func="SmerAgregator"
Node="1…" HideMode="1">
<p class="BT">
 <Smereka Module="agregators/navigators.php"
Func="NavigatorItem" />
</p>
</Smereka1>

Пример результата:

Статические смеретеги

Атрибуты

Изображения

Ссылки

Условные смеретеги

Агрегаторы

OneLineNavigator

Модуль: agregator/navigators.php

Параметры: те же, что и для SmerAgregator

Назначение: вывести список ссылок на дочерние вершины как одна строка.

Пример вызова. Выводим список статей, подчиненных определенной вершине:

 <Smereka Module="agregators/navigators.php"
Func="OneLineNavigator" Node="1…" />

Пример результата:

Статические смеретеги | Атрибуты | Изображения | Ссылки | Условные смеретеги | Агрегаторы

Этот способ лучше использовать, когда названия короткие и весь список может разместиться в одной строке.

TrackBar

Модуль: agregators/navigators.php

Параметры: IncludeRoot IncludeLeaf Separator MaxDocTitle

Назначение: сформировать «хлебные крошки» – путь по дереву документов сайта от корня до текущей вершины.

IncludeRoot = 0 – не включать корневую вершину;

IncludeRoot = 1 – включать корневую вершину, но без ссылки;

IncludeRoot = 2 – включать корневую вершину как ссылку (по умолчанию);

IncludeLeaf = 0 – не включать конечную вершину;

IncludeLeaf = 1 – включать конечную вершину, но без ссылки (по умолчанию);

IncludeLeaf = 2 – включать конечную вершину как ссылку;

Separator – разделитель пути (по умолчанию '/');

MaxDocTitle – число, сколько символов из DocTitle включать; при превышении заголовок вершины обрезается на этом символе и добавляется …; по умолчанию не задано – сокращение не выполняется.

Пример вызова: <Smereka Module="agregators/navigators.php" Func="TrackBar" />

Пример результата: можно увидеть на этой странице ниже ее заголовка.

TableAgregator

Модуль: agregators/tablemaker.php

Параметры: те же, что и для SmerAgregator, + NumColumns Order Numbering NumberStr

Назначение: сформировать таблицу из агрегированных данных.

NumColumns – число колонок для таблицы (по умолчанию 2);

Order = 'column' – заполнять контейнер-таблицу по колонкам:

1…	10…
2…	11…

Order = 'row' – заполнять контейнер-таблицу по столбцам (по умолчанию):

1… 2…
5… 6…

Numbering – начальное значение, с которого начинать нумеровать элементы в таблице; если не установлено – не нумеровать вообще.

NumberStr – кодовая строка в шаблоне (SmerekaValue), которую нужно заменить номером. Если не установлено – нумерация не выполняется;

Пример вызова:

<table class="BTNoIndent" cellpadding="4">
<Smereka1 Module="agregators/tablemaker.php"
Func="TableAgregator" Node="1…" HideMode="1"
NumColumns="2" Order="column" Numbering="1"
NumberStr="As16Xz86">
<tr>
<td>
 As16Xz86. <Smereka Module="agregators/navigators.php"
Func="NavigatorItem" />
</td>
</tr>
</Smereka1>
</table>

Пример результата:

1.Статические смеретеги 3.Изображения 5.Условные смеретеги
2.Атрибуты 4.Ссылки 6.Агрегаторы

Gallery

Модуль: agregators/tablemaker.php

Параметры: те же, что и для TableAgregator

Назначение: сформировать галерею изображений в виде таблицы со ссылками.

Пример вызова: <Smereka Module="agregators/tablemaker.php" Func="Gallery" />

Пример результата: можно посмотреть здесь.

TableOfContent

Модуль: agregator/articlenavigators.php

Параметры: те же, что и для SmerAgregator, + WithAuthors

Назначение: вывести иерархический список ссылок на подчиненные вершины всех уровней (сформировать таблицу содержания иерархической публикации).

WithAuthors – если этот параметр равен 1, то для каждой вершины, которая имеет атрибут Authors, он будет выведен перед названием статьи.

Пример вызова.

 <Smereka Module="agregators/articlenavigators.php"
Func="TableOfContent" />

Предыдущий раздел | Содержание | Следующий раздел

Понравилась страница? Помогите развитию нашего сайта!

© 1978 – 2018 Н.И.Жарких

Перепечатка статей с сайта приветствуется при условии
ссылки (гиперссылки) на мой сайт

Сайт живет на

Число загрузок : 1853

Модифицировано : 8.08.2017

Если вы заметили ошибку набора
на этой странице, выделите
её мышкой и нажмите Ctrl+Enter.