Инструменты пользователя

Инструменты сайта


limb3:ru:packages:macro:dictionaries

Словари элементов MACRO-шаблона

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

  • словарь тегов,
  • словарь фильтров

По-умолчанию, MACRO ищет теги в папке /limb/macro/src/tags, а также в папках limb/*/src/macro и в папке src/macro приложения, если используется пакет VIEW.

По-умолчанию, MACRO ищет фильтры в папке /limb/macro/src/filters, а также в папках limb/*/src/macro и в папке src/macro приложения, если используется пакет VIEW.

MACRO ищет файлы тегов и других элементов на основе определенных шаблонов:

  • .tag.php - для файлов тегов.
  • .filter.php - для файлов фильтров.

То есть остальные файлы в этих папках пропускаются.

Словари обычно кешируются и собираются только 1 один раз. Обычно кеш словарей лежит в папке /var/compiled вашего приложения. Если вам необходимо пересоздать словари, например, вы создаете новый тег - просто удалите файлы словарей и MACRO проведет процедуру сканирования заново.

При сканировании MACRO использует так называемые аннотации - некоторые мета-описания, указывающие, например, название тега, какие аттрибуты являются обязательными т.д. Например, файл тега {{list:empty}}

/**
 * Empty List tag for a list which failed to have any contents
 * @tag list:empty
 * @aliases list:default 
 * @parent_tag_class lmbMacroListTag
 * @package macro
 * @version $Id$
 */
class lmbMacroListEmptyTag extends lmbMacroTag
{
}
?>

@tag, @req_attributes, @forbig_end_tag - это аннотации:

  • @tag - указывает на название тега, как он будет использоваться в шаблоне (регист не имеет значения).
  • @req_attributes - указывает, какие обязательные атрибуты есть у тега.
  • @aliases - указывает на алиасы названия тега.
  • @parent_tag_class- указывает на класс тега, внутри которого должен находиться тег для формирования правильной иерархической структуры шаблона.
  • @forbig_end_tag - указывает, что данный тег не может иметь отдельный завершающий тег.

Набор аннотаций достаточно велик и отличается для фильтров и тегов см. разделы "Создание своих тегов", "Создание своих фильтров".

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   __ __   __ __   __  ___  ____  __  __
  / // /  / //_/  /  |/  / / __ \ \ \/ /
 / _  /  / ,<    / /|_/ / / /_/ /  \  / 
/_//_/  /_/|_|  /_/  /_/  \___\_\  /_/
 
limb3/ru/packages/macro/dictionaries.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)