Как грамотно сформировать и отдать клиенту zip-файл?

5 сентября 2018 в 14:43
Аватар пользователя marassa marassa 0 4 Решено

Сейчас пытаюсь сформировать kml-файл (проблем на пути пока не вижу), но потом захочется формировать kmz-файл (это обычный zip-архив с kml-файлом и примкнувшими к нему картинками).
Как это правильно делать на восьмом друпале? Будет вьюшка, генерящая на выходе kml-файл, как перед отдачей этого файла клиенту сохранить его куда-нибудь во временную директорию, свалить туда же нужные картинки, зазиповать и отдать клиенту получившийся архив? Какие тут хуки можно/нужно задействовать, есть ли готовые модули/библиотеки/наработки, которые можно взять за основу?

Комментарии

Спасибо!
Придется уточнить вопрос: куда и как подключить код в друпале, чтобы он мог подхватить отрендеренную вьюшкой страницу, сделать из нее zip (это самая нехитрая часть задачи) и отдать клиенту?

5 сентября 2018 в 15:34

В идеале - писать вью-хендлер под задачу.
Как вариант - вхукиваться, по старинке.

В любом случае, писать сервисочек, в нем всю логику, а потом уже в "нужном месте" юзать.

5 сентября 2018 в 15:38

Во, hook_views_post_render вроде самое то!
Попробую вхукнуться для начала, а потом попробую сделать как следует, когда руки дойдут (=никогда...).
Спасибо!

5 сентября 2018 в 15:51