Разработка:modlibs/templater — различия между версиями
Ilya (обсуждение | вклад) (→Экспорт документов) |
Ilya (обсуждение | вклад) (→Экспорт документов) |
||
Строка 3: | Строка 3: | ||
Модуль реализуется как библиотека modlib, которая называется templater. Этот модуль будет реализовывать экспорт в xls, csv, odt, и другие форматы, если они понадобятся. Экспортироваться будут как таблицы, так и текст. | Модуль реализуется как библиотека modlib, которая называется templater. Этот модуль будет реализовывать экспорт в xls, csv, odt, и другие форматы, если они понадобятся. Экспортироваться будут как таблицы, так и текст. | ||
− | Структура классов такова: модуле modlib лежат базовые классы для экспорта в различные форматы. Классы для конкретных задач будут лежать в тех модулях, из которых они вызываются. | + | |
+ | == Структура папок == | ||
+ | |||
+ | Структура расположения классов такова: модуле modlib лежат базовые классы для экспорта в различные форматы. Классы для конкретных задач будут лежать в тех модулях, из которых они вызываются. | ||
Пример: в модуле типа im, который называется sample при просмотре расписания необходимо экспортировать все уроки за месяц. Для этого структура папок im должна выглядеть следующим образом: | Пример: в модуле типа im, который называется sample при просмотре расписания необходимо экспортировать все уроки за месяц. Для этого структура папок im должна выглядеть следующим образом: | ||
+ | |||
[[Изображение:folders.jpg]] | [[Изображение:folders.jpg]] | ||
Каждый синий квадрат обозначает папку, желтый — пояснение, серый — отдельный файл. | Каждый синий квадрат обозначает папку, желтый — пояснение, серый — отдельный файл. | ||
− | В каждой папке с типом экспорта может лежать файл init.php, который содержит класс, наследуемый от класса '''dof_modlib_templater''' и переопределяющий его метод format(). Именно он определяет, каким образом будет отформатирован окончательный файл. Для формата odt в папке с названием формата должна находится папка «content», содержащая следующие файлы: | + | В каждой папке с типом экспорта может лежать файл init.php, который содержит класс, наследуемый от класса '''dof_modlib_templater''' и переопределяющий его метод '''format()'''. Именно он определяет, каким образом будет отформатирован окончательный файл. Для формата odt в папке с названием формата должна находится папка «content», содержащая следующие файлы: |
− | * content.xml - xml-документ с основным содержанием, размеченный тегами шаблонизатора PEAR::QuickForm | + | * '''content.xml''' - xml-документ с основным содержанием, размеченный тегами шаблонизатора PEAR::QuickForm |
− | * mimetype - mime-тип документа, который будет использоваться при передаче документа по http и на основании которого выбирается расширение | + | * '''mimetype''' - mime-тип документа, который будет использоваться при передаче документа по http и на основании которого выбирается расширение |
Эти файлы будут определять форматирование будущего документа. Их можно получить, распаковав обычный odt-файл (как zip-архив). | Эти файлы будут определять форматирование будущего документа. Их можно получить, распаковав обычный odt-файл (как zip-архив). |
Версия 18:59, 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-архив).