Разработка:modlibs/templater — различия между версиями
Ilya (обсуждение | вклад) |
Ilya (обсуждение | вклад) |
||
Строка 18: | Строка 18: | ||
Эти файлы будут определять форматирование будущего документа. Их можно получить, распаковав обычный odt-файл (как zip-архив). | Эти файлы будут определять форматирование будущего документа. Их можно получить, распаковав обычный odt-файл (как zip-архив). | ||
− | Структура папок в виде списка: | + | '''Структура папок в виде списка:''' |
* папка плагина | * папка плагина | ||
− | + | ** templater - в этой папке хранятся все шаблоны, принадлежащие этому плагину | |
− | + | *** Код шаблона (например order) | |
− | + | **** init.php - необязательный файл, переопределяющий класс всего шаблона | |
− | + | **** Код формат шаблона (pdf, csv) | |
− | + | ***** init.php - необязательный (для некоторых шаблонов) файл, переорпделяющий класс парсера шаблона | |
− | + | **** odf - пример шаблона odf (конкретный формат odt,ods задается уже внутри шаблона, поскольку все документы устроены одинаково) | |
− | + | ***** init.php (необязательно) | |
− | + | ***** content - папка с распакованным документов ODF | |
− | + | ****** content.xml - xml-документ с основным контентом, размеченный тегами шаблонизатора PEAR::QuickForm | |
− | + | ****** mimetype - mime-тип документа, который будет использоваться при передаче документа по http и на основании которого выбирается расширение |
Версия 19:07, 13 марта 2009
Экспорт документов
Модуль реализуется как библиотека modlib, которая называется templater. Этот модуль будет реализовывать экспорт в xls, csv, odt, и другие форматы, если они понадобятся. Экспортироваться будут как таблицы, так и текст.
Структура папок
Структура расположения классов такова: модуле modlib лежат базовые классы для экспорта в различные форматы. Классы для конкретных задач будут лежать в тех модулях, из которых они вызываются.
Пример: в модуле типа im, который называется sample при просмотре расписания необходимо экспортировать все уроки за месяц. Для этого структура папок im должна выглядеть следующим образом:
Каждый синий квадрат обозначает папку, желтый — пояснение, серый — отдельный файл.
В каждой папке с типом экспорта может лежать файл init.php, который содержит класс, наследуемый от класса dof_modlib_templater и переопределяющий его метод format(). Именно он определяет, каким образом будет отформатирован окончательный файл. Для формата odt в папке с названием формата должна находится папка «content», содержащая следующие файлы:
- content.xml - xml-документ с основным содержанием, размеченный тегами шаблонизатора PEAR::QuickForm
- mimetype - mime-тип документа, который будет использоваться при передаче документа по http и на основании которого выбирается расширение
Эти файлы будут определять форматирование будущего документа. Их можно получить, распаковав обычный odt-файл (как zip-архив).
Структура папок в виде списка:
- папка плагина
- templater - в этой папке хранятся все шаблоны, принадлежащие этому плагину
- Код шаблона (например order)
- init.php - необязательный файл, переопределяющий класс всего шаблона
- Код формат шаблона (pdf, csv)
- init.php - необязательный (для некоторых шаблонов) файл, переорпделяющий класс парсера шаблона
- odf - пример шаблона odf (конкретный формат odt,ods задается уже внутри шаблона, поскольку все документы устроены одинаково)
- init.php (необязательно)
- content - папка с распакованным документов ODF
- content.xml - xml-документ с основным контентом, размеченный тегами шаблонизатора PEAR::QuickForm
- mimetype - mime-тип документа, который будет использоваться при передаче документа по http и на основании которого выбирается расширение
- Код шаблона (например order)
- templater - в этой папке хранятся все шаблоны, принадлежащие этому плагину