Логотип персонального сайта М.Жарких
Лист на сайт
Версія для друку
Стрічка новин (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 М.І.Жарких

Передрук статей із сайту заохочується за умови
посилання (гіперпосилання) на мій сайт

Сайт живе на

Число завантажень : 1383

Модифіковано : 8.08.2017

Якщо ви помітили помилку набору
на цiй сторiнцi, видiлiть її мишкою
та натисніть Ctrl+Enter.