<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://limb.nohau.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://limb.nohau.ru/feed.php">
        <title>Фремворк Limb - limb3:ru:packages:macro</title>
        <description></description>
        <link>https://limb.nohau.ru/</link>
        <image rdf:resource="https://limb.nohau.ru/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-11-10T16:18:29+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:compiler&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:data_sources&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:dictionaries&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:diffs_from_wact&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:errors_and_debug&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:expressions&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters_intro&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:form_tags&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_filter&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_tag&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:important_details&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:intro&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:list_tags&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pagination&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:php_code_in_templates&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pros_and_cons&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:tags&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_composition&amp;rev=1289372570&amp;do=diff"/>
                <rdf:li rdf:resource="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_file_name_resolving&amp;rev=1289372570&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://limb.nohau.ru/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Фремворк Limb</title>
        <link>https://limb.nohau.ru/</link>
        <url>https://limb.nohau.ru/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:compiler&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Как работает компилятор MACRO-шаблонов</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:compiler&amp;rev=1289372570&amp;do=diff</link>
        <description>Как работает компилятор MACRO-шаблонов

Цель этой страницы

Эта страница будет полезной для разработчиков, которым необходимо создать свои собственные теги или фильтры. Она позволит понять, каким образом MACRO компилирует шаблоны. Мы подробно разберем процесс компиляции шаблонов, укажем на основные классы, участвующие в компиляции, покажем, как генерится php-код компилированных шаблонов, как отрабатывают выражения для вывода данных и т.д.…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:data_sources&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Как MACRO-шаблон получает данные для вывода?</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:data_sources&amp;rev=1289372570&amp;do=diff</link>
        <description>Как MACRO-шаблон получает данные для вывода?

MACRO всегде предполагает, что работает с литеральными переменными и массивами. Поэтому, если вы передаете в MACRO объекты, убедитесь, что они поддерживают интерфейсы</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:dictionaries&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Словари элементов MACRO-шаблона</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:dictionaries&amp;rev=1289372570&amp;do=diff</link>
        <description>Словари элементов MACRO-шаблона

MACRO шаблонизатор поддерживает те теги и фильтры, которые находятся в так называемых словарях:

	*  словарь тегов,</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:diffs_from_wact&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Отличия MACRO от WACT-а</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:diffs_from_wact&amp;rev=1289372570&amp;do=diff</link>
        <description>Отличия MACRO от WACT-а

	*  MACRO не использует XML-подобный синтаксис для тегов. Благодаря этому MACRO-теги не теряются среди html-тегов, а также позволяет использовать MACRo-теги для генерации атрибутов обычных html-гов, что в WACT-е невозможно.</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:errors_and_debug&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Отладка шаблонов</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:errors_and_debug&amp;rev=1289372570&amp;do=diff</link>
        <description>Отладка шаблонов

Ошибки компиляции шаблонов

Шаблонная система способна с большинстве случаев самостоятельно находить многие ошибки в шаблонах.</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:expressions&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Выражения. Вывод значений переменных в шаблоне.</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:expressions&amp;rev=1289372570&amp;do=diff</link>
        <description>Выражения. Вывод значений переменных в шаблоне.

Данная страница предполагает, что Вам знакомы следующие понятия:

	*  что такое выражения и фильтры. Начальные сведения об этих элементах можно получить из раздела</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters_intro&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Фильтры</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters_intro&amp;rev=1289372570&amp;do=diff</link>
        <description>Фильтры

Фильтры - предназначены для модифицирования значения переменной или строки при выводе в шаблон при помощи выражений.

Фильтры отделяются от остальной части выражения вертикальным разделителем. Несколько фильтров в выражении разделяются также вертикальным разделителем:…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Фильтры шаблонной системы MACRO</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:filters&amp;rev=1289372570&amp;do=diff</link>
        <description>Фильтры шаблонной системы MACRO

Фильтры для обработки текста

clip

Позволяет ограничить вывод длинной строки, указывая количество символов, и символы на границе.</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:form_tags&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Теги форм и элементов форм</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:form_tags&amp;rev=1289372570&amp;do=diff</link>
        <description>Теги форм и элементов форм

MACRO содержит средства для решения проблемы автозаполнения полей формы после submit-а в том случае, если отправленные данные содержали ошибки (ошибки валидации). Стоит, правда, отметить, что в последнее время все большую популярность набирают различные средства для проведения валидации на стороне клиента или при помощи Ajax-запросов. Тем не менее, в данном разделе мы осветим некоторые моменты использования тегов группы FormTags, которые умеют генерить html-аналоги те…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_filter&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Создание собственных {{macro}} фильтров</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_filter&amp;rev=1289372570&amp;do=diff</link>
        <description>Создание собственных {{macro}} фильтров

Файл вашего нового класса должен быть расположен в одной из директорий вида src/macro и иметь имя some_filter_name.filter.php. Обратите внимание на окончание .filter.php.</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_tag&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Создание собственных MACRO-тегов</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:how_to_create_new_tag&amp;rev=1289372570&amp;do=diff</link>
        <description>Создание собственных MACRO-тегов

Мы предполагаем, что вам уже знакомы материалы следующих разделов:

	*  &quot;Компиляция и выполнение шаблона. Пример рендеринга MACRO-шаблона&quot;,
	*  &quot;Как работает компилятор MACRO-шаблонов&quot;,

Теги хранятся в файлах с именем some_tag_name.tag.php, который должен быть расположен в одной из директорий вида src/macro пакетов или приложения, а также в папке /limb/macro/src/tags. Обратите внимание на окончание .tag.php - только их таких файлов информацию попадает в словарь…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:important_details&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Компиляция и выполнение шаблона. Пример рендеринга MACRO-шаблона</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:important_details&amp;rev=1289372570&amp;do=diff</link>
        <description>Компиляция и выполнение шаблона. Пример рендеринга MACRO-шаблона

Фаза компиляции и фаза исполнения шаблонов

Шаблонизатор Macro - является компилирующим обработчиком</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:intro&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Введение в шаблонную систему MACRO</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:intro&amp;rev=1289372570&amp;do=diff</link>
        <description>Введение в шаблонную систему MACRO

Шаблонизатор MACRO - это одновременно и мощный, и легко расширяемый, и быстрый инструмент php-разработчика для создания шаблонов. MACRO позволяет легко и чисто разделять презентационную логику от логики приложения, при этом не требует много времени на первоначальное освоение.…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:list_tags&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Вывод списков</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:list_tags&amp;rev=1289372570&amp;do=diff</link>
        <description>Вывод списков

MACRO-теги для вывода списков

Для вывода списков в шаблонах используется группа тегов для работы со списками. 


 &lt;table border=&quot;1&quot;&gt;
   &lt;tr&gt;
    &lt;th&gt;№&lt;/th&gt;
    &lt;th&gt;Название&lt;/th&gt;
    &lt;th&gt;Объем, л&lt;/th&gt;
    &lt;th&gt;Вес, кг&lt;/th&gt;
   &lt;/tr&gt;
 {{list using=&quot;$#tanks&quot; as=&quot;$tank&quot; counter=&quot;$number&quot;}}
   {{list:item}}
   &lt;tr&gt;
    &lt;td&gt;{$number}&lt;/td&gt;
    &lt;td&gt;{$tank.name}&lt;/td&gt;
    &lt;td&gt;{$tank.volume}&lt;/td&gt;
    &lt;td&gt;{$tank.weight}&lt;/td&gt;
   &lt;/tr&gt;
   {{/list:item}}
  {{list:empty}}
  &lt;tr&gt;&lt;td colspan='4'&gt;Спи…</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pagination&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Постраничный вывод данных в MACRO-шаблонах</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pagination&amp;rev=1289372570&amp;do=diff</link>
        <description>Постраничный вывод данных в MACRO-шаблонах

Чаще всего списки слишком длинные, чтобы их показывать на одной странице. Для решения этой проблемы применяют разбиение списков на страницы. Этот список страниц обычно называют пейджером (pager).</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:php_code_in_templates&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Использование php-кода в шаблонах</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:php_code_in_templates&amp;rev=1289372570&amp;do=diff</link>
        <description>Использование php-кода в шаблонах

Прежде всего нужно понимать, что MACRO компилирует шаблон в обычный php-класс. Поэтому MACRO позволяет вставлять любой php-код в шаблоны, например:</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pros_and_cons&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Плюсы и минусы MACRO шаблонизатора</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:pros_and_cons&amp;rev=1289372570&amp;do=diff</link>
        <description>Плюсы и минусы MACRO шаблонизатора

Так как MACRO является в некоторой степени «наследником» WACT-а, мы позволили себе перенести сюда большинство плюсов последнего, а также добавить некоторые, которые характерные именно для MACRO.</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:tags&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Теги шаблонной системы MACRO</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:tags&amp;rev=1289372570&amp;do=diff</link>
        <description>Теги шаблонной системы MACRO

Большинство тегов имеет примеры использования. Если целая группа тегов содержит только один пример, то страница этого тега указана особо:</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_composition&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Композиция шаблонов: включение(include), обворачивание(wrap) и переиспользование(reuse) шаблонов</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_composition&amp;rev=1289372570&amp;do=diff</link>
        <description>Композиция шаблонов: включение(include), обворачивание(wrap) и переиспользование(reuse) шаблонов

Компиляция MACRO шаблонов

MACRO содержит различные средства, которые позволяют собирать конечные шаблоны из набора других шаблонов:</description>
    </item>
    <item rdf:about="https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_file_name_resolving&amp;rev=1289372570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-10T07:02:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Как MACRO ищет шаблоны</title>
        <link>https://limb.nohau.ru/doku.php?id=limb3:ru:packages:macro:template_file_name_resolving&amp;rev=1289372570&amp;do=diff</link>
        <description>Как MACRO ищет шаблоны

На данной странице мы не будем вдаваться в детали того, как поиск шаблонов реализован программно - лишь укажем принцип, на основе которого ищутся шаблоны. Отметим, что поиск шаблонов в базовом MACRO существенно отличается от поиска шаблонов, если используется MACRO совместно с пакетом VIEW.…</description>
    </item>
</rdf:RDF>
