Тестовое задание
Задача может быть выполнена с удовлетворением минимального количества входных требований. Пример обязательного минимума выполнения задачи указан в конце документа. Для выполнения задания нельзя использовать сторонние подключаемые библиотеки. При выполнении использовать php 7. Максимальное время выполнения задания - 7 дней. Краткое описание Скрипт, получая на входе 2 файла с описанием иерархии групп товаров и самих товаров и их привязок к группам, должен вывести совместную иерархию групп и товаров. Дочерние группы связаны с родительскими по полям “родитель”-”id”. Формат входных файлов: groups.csv:
- id - идентификатор группы, используется для связи с дочерними элементами
- Наименование - наименование группы, должно выводиться как есть
- родитель - идентификатор родительской группы
- формат описания товаров - шаблон вывода описания товара с метками для интерполяции полей товара
- наследовать дочерним - наследовать ли дочерним группам формат описания товаров products.csv:
- id - идентификатор товара, не используется в приложении явно
- категория - идентификатор группы, к которой относится товар
- наименование товара
- цена - цена товара перечислен список обязательных полей. Требования Формат вывода группы Программа должна выводить для каждого уровня список групп с их заголовками, товарами и дочерними группами. Формат вывода группы: <h?>Заголовок группы</h?>
- Описание товара 1 по формату ...
- Описание товара N по формату
- [[ Дочерняя группа ]]
id;наименование;родитель;формат описания товаров;наследовать дочерним 1;Группа 1;;Купите %наименование% по цене %цена%;1 2;Группа 1.1;1;;0 3;Группа 1.2;1;Покупайте больше %name%;1 4;Группа 1.2.1;3;;0
products.csv:
id;категория;наименование;цена; 1;1;супрадин;100 2;2;аспирин;200 3;3;йод;15 4;4;анальгин;20 Пример полного выполнения задачи
-
- Купите супрадин по цене 100
-
- Купите аспирин по цене 200
-
- Покупайте больше йод
-
- Покупайте больше анальгин