f-document

автоматическая генерация документов

Структура массива данных

Рассмотрим пример массива данных для формирования вот этого файла: Скачать demo_specifikacia.xlsx

Структура массива описана в комментариях:


Array
(
/* Управляющие переменные предваряются символом подчеркивания и являются командами генератору */

    [_template] => demo_specifikacia.xlsx // указывает файл шаблона, ранее закачанный на сервер
    [_encoding] => windows-1251// кодировка входящих данных (как правило, совпадает с кодировкой вашего сайта). 
	                               //Значение "utf-8" указывать не надо 
    [_action] => file_download //Действие после формирования документа.
	                               //file_download - возвращает сам сформированный файл.
	                               //show_link - Возвращает ссылку с текстом "Скачать document.xlsx"
	                               //show_direct_link - возвращает url готового докумета
    [_extention] => "" // имя скрипта расширения, который будет выполняться после формирования документа. Дополнительная опция.  
		

	
/* Для замены простых тегов используются такие же простые переменные */

    [№заказа] => 123
    [Дата] => 02.04.2014
    [Итого] => 100500
    [ФИО] => Невмывайко Ничипок Кузмич
    [№спецификации] => 321


/* Табличные данные передаются в виде массивов. Очевидно, что порядок элементов должен сооветствовать порядку строк. */

	[№пп] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [Артикул] => Array
        (
            [0] => карт_1
            [1] => м_вин_2000
            [2] => трен_18_20
        )

    [Наименование] => Array
        (
            [0] => Картошка
            [1] => Масло виноградных косточек
            [2] => Самый крутой тренажер
        )

    [Цена] => Array
        (
            [0] => 7,50
            [1] => 100
            [2] => 100
        )

    [Сумма] => Array
        (
            [0] => 200
            [1] => 30
            [2] => 30
        )

    [Кол-во] => Array
        (
            [0] => 1500
            [1] => 3000
            [2] => 96 000
        )


/* Работа с группами */
/* Заголовки групп передаются массивами, так же, как табличные переменные. Но перед ключевым словом используется префикс "g_", который укажет генератору, что этот тег надо искать среди заголовков */

    [g_Категория] => Array			
        (
            [0] => Продукты
            [1] => Тренажеры
        )

/* Далее, необходимо указать, какие строки табличных относятся к какой группе. Для этого в служебном массиве _group указываем соответствие между номерами строк таблицы и номерами заголовков. 

В нашем примере строки 0 (Картошка) и 1 (Масло виноградных косточек) относятся к группе 0, "Продукты". А строка 2, Тренажер, - соответственно, к группе 1, "Тренажеры".  
	
Числа и в ключах, и в значениях массива, должны идти по возрастающей. 
*/

    [_group] => Array
        (
            [0] => 0	// строка с картошкой входит в группу "Продукты"
            [1] => 0	// строка с маслом входит в группу "Продукты"
            [2] => 1	// третья строка входит в группу "Тренажеры"
        )

/* _group_key Важная служебная переменна, без которой заголовки работать не будут. Ее значением может быть любой из тегов таблицы, которая разбивается на группы. Документ может содержать и другие таблицы с данными, но разбиваться на строки может только одна из них. Ключ этой таблицы и следует указать. */

    [_group_key] => №пп	// №пп - просто один из тегов наших  табличных данных в нужной таблице		


/* Переменные в ссылках*/

    [site] => mega-super-magazin.tutu //Точно так же, как и простые переменные

    [link] => Array	// Так же, как табличные данные. В нашем примере это адреса страниц товаров.
        (
            [0] => kartoshka
            [1] => maslo_vinogradnyh_kostochek
            [2] => trenazher
        )

)
На главную