О заказчике:
ICT Group – российский производитель стоечных и настольных серверов от начального уровня до масштаба предприятия, серверных платформ, NAS-серверов и систем хранения данных.
С чем пришел заказчик:
Компания ICT Group обратилась к нам с задачей по созданию функционала для конвертации страницы сайта в PDF-файл. При нажатии на ссылку price.php
пользователь должен был получить PDF с работающими ссылками, как на странице https://server19.ru/catalog/racknode/. Было важно, чтобы PHP-скрипт не подгружал сторонние библиотеки или скрипты во время выполнения. Также необходимо было сохранить совместимость с версией PHP 5.3 и использовать шаблоны Smarty для вывода страниц.
Что было сделано:
Для выполнения задачи, наш разработчик создал файл pdf-catalog.php
, который принимает на вход верстку и возвращает PDF-файл. В ходе работы столкнулись с рядом технических сложностей:
- Не удалось получить доступ ко всем шаблонам из админки, поэтому была сделана копия базы данных для поиска корневого шаблона.
- Возникли сложности с отображением CSS-стилей, особенно с элементами, использующими изображения как
background
. Было принято решение временно изменить способ отображения изображений. - Дополнительно были установлены более современные библиотеки для обработки PDF.
По итогу были реализованы кнопки для экспорта страниц в PDF. Несмотря на сложности с отображением некоторых элементов, итоговый PDF содержал все необходимые данные и работающие ссылки. Заказчик отметил, что добавление кнопок в интерфейс будет выполнено самостоятельно, а некоторые правки по стилизации (например, перераспределение ссылок и изменение цен) были внедрены после обсуждения.
Объем трудозатрат:
Задача | Часы |
---|---|
Создание и настройка скрипта PDF-конвертации | 8 |
Тестирование скрипта и работа с шаблонами | 4 |
Исправление багов, связанных с CSS и стилями | 3 |
Установка библиотек и работа с кешем | 2 |
Обсуждение и внедрение правок от клиента | 2 |
ИТОГО: | 19 |
Смотреть проект: https://server19.ru/catalog/racknode/