Разработка:modlibs/templater — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
м (Пример исходных данных)
(Переработано оглавление)
Строка 6: Строка 6:
 
== Общие сведения ==
 
== Общие сведения ==
 
Плагин templater отвечает за все действия по экспорту данных и за создание любых электронных документов (отчетов, приказов, графиков и т. п.)  
 
Плагин templater отвечает за все действия по экспорту данных и за создание любых электронных документов (отчетов, приказов, графиков и т. п.)  
== Принцип работы ==
+
=== Принцип работы ===
 
Все документы формируются следующим образом:
 
Все документы формируются следующим образом:
 
на основе требуемого документа создается файл шаблона документа;
 
на основе требуемого документа создается файл шаблона документа;
Строка 13: Строка 13:
 
* сформированный документ посылается клиенту по  http-протоколу.
 
* сформированный документ посылается клиенту по  http-протоколу.
 
Шаблон документа формируется из документа по специальным правилам, а затем размещается в оговоренном месте плагина, из которого производится экспорт. Затем по аналогичным правилам производится вставка данных. Сбор и подготовка данных для экспорта производятся тем же плагином. В настоящее время формирование шаблона производится в ручную.  Описываемый модуль получает путь к каталогу документа, данные для вставки и формат документа. На основе этих данных он формирует документ и посылает его клиенту.
 
Шаблон документа формируется из документа по специальным правилам, а затем размещается в оговоренном месте плагина, из которого производится экспорт. Затем по аналогичным правилам производится вставка данных. Сбор и подготовка данных для экспорта производятся тем же плагином. В настоящее время формирование шаблона производится в ручную.  Описываемый модуль получает путь к каталогу документа, данные для вставки и формат документа. На основе этих данных он формирует документ и посылает его клиенту.
== Формат исходных данных ==
+
=== Формат исходных данных ===
 
Данные, предназначенные для экспорта должны соответствовать следующим стандартам:
 
Данные, предназначенные для экспорта должны соответствовать следующим стандартам:
 
* Исходные данные всегда представлены в виде объекта класса stdClass (стандартный объект PHP).
 
* Исходные данные всегда представлены в виде объекта класса stdClass (стандартный объект PHP).
Строка 19: Строка 19:
 
Строки и числа подставляются в шаблон документа "как есть", объекты обрабатываются как блоки. Объект данных для экспорта может иметь неограниченное количество вложенных блоков.
 
Строки и числа подставляются в шаблон документа "как есть", объекты обрабатываются как блоки. Объект данных для экспорта может иметь неограниченное количество вложенных блоков.
 
Желательно для создания объекта данных для экспорта создавать отдельный класс, которые решает эту задачу.
 
Желательно для создания объекта данных для экспорта создавать отдельный класс, которые решает эту задачу.
=== Пример исходных данных ===
+
== Пример исходных данных ==
 
В этом примере мы построим объект для экспорта данных по ученикам двух классов.
 
В этом примере мы построим объект для экспорта данных по ученикам двух классов.
 
Данные для экспорта будут выглядеть следующим образом:
 
Данные для экспорта будут выглядеть следующим образом:
Строка 60: Строка 60:
 
В этом примере поля объектов представляют собой данные, которые нужно распечатать, о объекты служат для упаковки этих данных, и разделения их на блоки.
 
В этом примере поля объектов представляют собой данные, которые нужно распечатать, о объекты служат для упаковки этих данных, и разделения их на блоки.
  
== Тип документа ==
+
=== Тип документа ===
== Форматы экспорта ==
+
=== Форматы экспорта ===
== Использование готового документа ==
+
== Использование ==
== Создание типа документа ==
+
=== Использование готового документа ===
=== Простое ===
+
=== Создание типа документа ===
=== Возможности по настройке поведения ===
+
==== Простое ====
== Создание формата ==
+
==== Сложное, с использованием дополнительной логики ====
 +
=== Создание формата ===
 
== API плагина ==
 
== API плагина ==
 
== Форматы экспорта ==
 
== Форматы экспорта ==
 +
=== DBG ===
 
=== ODF ===
 
=== ODF ===
 
== Ссылки ==
 
== Ссылки ==
 
*[http://pear.php.net/package/HTML_Template_Sigma Шаблонизатор HTMLTemplateSigma]
 
*[http://pear.php.net/package/HTML_Template_Sigma Шаблонизатор HTMLTemplateSigma]
 
*[http://pear.php.net/manual/en/package.html.html-template-sigma.intro-syntax.php Справка по синтаксису шаблонизатора Sigma]
 
*[http://pear.php.net/manual/en/package.html.html-template-sigma.intro-syntax.php Справка по синтаксису шаблонизатора Sigma]

Версия 17:19, 22 мая 2009

Плагин
Название templater
Тип modlibs


Общие сведения

Плагин templater отвечает за все действия по экспорту данных и за создание любых электронных документов (отчетов, приказов, графиков и т. п.)

Принцип работы

Все документы формируются следующим образом: на основе требуемого документа создается файл шаблона документа;

  • собираются данные для вставки в шаблон
  • формируется экспортируемый документ - производится вставка данных в шаблон;
  • сформированный документ посылается клиенту по http-протоколу.

Шаблон документа формируется из документа по специальным правилам, а затем размещается в оговоренном месте плагина, из которого производится экспорт. Затем по аналогичным правилам производится вставка данных. Сбор и подготовка данных для экспорта производятся тем же плагином. В настоящее время формирование шаблона производится в ручную. Описываемый модуль получает путь к каталогу документа, данные для вставки и формат документа. На основе этих данных он формирует документ и посылает его клиенту.

Формат исходных данных

Данные, предназначенные для экспорта должны соответствовать следующим стандартам:

  • Исходные данные всегда представлены в виде объекта класса stdClass (стандартный объект PHP).
  • Поля объекта могут содержать строки, числа и массивы объектов (массивы строк или чисел не допускаются). Данные других типов не обрабатываются.

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

Пример исходных данных

В этом примере мы построим объект для экспорта данных по ученикам двух классов. Данные для экспорта будут выглядеть следующим образом:

   stdClass Object
   (
   [classes] => Array 
   
       [0] => stdClass Object
           [name]       => 7 "б"
           [date]       => 21.01.09
           [teacherfio] => Пучкова Валентина Федоровна
           [students] => Array
   
               [0] => stdClass Object
                       [number] => 1
                       [fio]    => Замеладский Алексей
                       [grade]  => 5
               [1] => stdClass Object
                       [number] => 2
                       [fio]    => Гусева Татьяна
                       [grade]  => 4
   
       [1] => stdClass Object
           [name]       => 4 "б"
           [date]       => 21.01.09
           [teacherfio] => Страпинский Лев Зиновьевич
           [students]   => Array
   
               [0] => stdClass Object
                       [number] => 1
                       [fio]    => Коньков Сергей
                       [grade]  => 5
               [1] => stdClass Object
                       [number] => 2
                       [fio]    => Захаров Александр
                       [grade]  => 3
   )

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

Тип документа

Форматы экспорта

Использование

Использование готового документа

Создание типа документа

Простое

Сложное, с использованием дополнительной логики

Создание формата

API плагина

Форматы экспорта

DBG

ODF

Ссылки