Конфігуратор гравіювання на сторінці товару
- Кнопка з ціною від: на сторінці товару з’являється кнопка персоналізації з найнижчою ціною серед увімкнених типів гравіювання, а коли ціни відрізняються, ціні передує слово «від».
- Безкоштовне гравіювання із закресленою сумою: якщо будь-який тип гравіювання має нульову ціну, поруч із кнопкою відображається етикетка з інформацією про безкоштовну персоналізацію, а звичайна сума залишається видимою як закреслена.
- Вікно конфігуратора: персоналізація відбувається в модальному вікні на цій самій сторінці, без перенаправлення клієнта на окрему форму та без втрати раніше вибраної комбінації товару.
- Три типи персоналізації: горизонтальне гравіювання, вертикальне гравіювання та символ або іконка, кожен із власною ціною, власним лімітом символів і власним розміром шрифту, збереженим у пресеті.
- Два положення гравіювання: клієнт обирає розташування «знизу» або «по центру» визначеної області, що дає змогу обслуговувати як напис під наявним друком, так і центральний напис.
- Послідовність кроків, примусово задана інтерфейсом: текстове поле, вибір шрифту та кнопка підтвердження відкриваються лише після вибору типу гравіювання, а кнопка підтвердження залишається неактивною, доки персоналізація не буде завершена.
- Лічильник символів: текстове поле в реальному часі показує кількість введених символів відносно ліміту, що діє для вибраного типу гравіювання.
Попередній перегляд на фото товару, що малюється в браузері
- Рендер на елементі canvas: попередній перегляд створюється на стороні клієнта, у роздільній здатності зображення, використаного як mockup, і оновлюється після кожної зміни тексту, шрифту, позиції, типу гравіювання або вибраної іконки.
- Текст, розміщений на поверхні предмета: модуль обчислює розташування літер окремо для кожного символу, враховуючи кривизну поверхні, завдяки чому напис на чашці, пляшці чи іншому округлому предметі не виглядає як плоска накладка.
- Попередній перегляд відповідає тому, що потрапляє до замовлення: той самий механізм малювання створює зображення, що зберігається разом із замовленням, тому клієнт і майстерня бачать однаковий результат.
- Шрифти завантажуються на вимогу: файли шрифтів завантажуються лише під час відкриття конфігуратора, а не при кожному вході на сторінку товару, що не навантажує завантаження сторінки для клієнтів, які не користуються персоналізацією.
- Ресурси завантажуються умовно: таблиця стилів і скрипти модуля додаються виключно на сторінки товарів з увімкненим гравіюванням — на інших сторінках магазину модуль не додає жодних файлів.
Пресети — область гравіювання та вигляд напису
- Базове зображення персоналізації: до пресета завантажується зображення у форматі JPG, PNG або WebP, на якому клієнт побачить своє гравіювання; це може бути каталожне фото товару.
- Область, що позначається мишею на зображенні: прямокутник гравіювання малюється безпосередньо на попередньому перегляді — перетягуванням по фону, захопленням за центр для переміщення та за кут для зміни розміру.
- Ті самі значення доступні з клавіатури: чотири числові поля дають змогу ввести положення та розмір області без використання миші, що робить найважливіше налаштування модуля доступним також для керування з клавіатури.
- Область зберігається у відсотках: положення та розміри зберігаються як відсоток ширини та висоти зображення, тому позначення залишається правильним незалежно від роздільної здатності попереднього перегляду.
- Окремі розміри шрифту: пресет зберігає розмір для горизонтального гравіювання та окремий для вертикального, оскільки той самий напис в обох варіантах потребує іншого масштабу.
- Колір напису визначається магазином: колір гравіювання задає власник магазину в пресеті, щоб він відповідав ефекту, який отримується на конкретному матеріалі; клієнт його не змінює.
- Порядок пресетів методом перетягування: список пресетів у панелі підтримує ручне встановлення порядку, а також увімкнення та вимкнення окремих позицій.
Галерея шрифтів, керована в панелі
- Власні файли шрифтів: панель приймає файли у форматах WOFF2, WOFF, TTF і OTF, тож магазин може надати саме ті гарнітури, які майстерня здатна виконати.
- Дванадцять гарнітур після встановлення: модуль встановлює готовий набір із дванадцяти шрифтів, зокрема Caveat, Dancing Script, Pacifico, Roboto Slab, Libre Baskerville, Montserrat, Oswald, Courgette, Lobster, Alfa Slab One, Josefin Sans і Comfortaa.
- Попередній перегляд гарнітури на кнопці вибору: кожна кнопка шрифту в конфігураторі відображає власну назву саме цією гарнітурою, тож клієнт бачить вибір ще до підтвердження.
- Увімкнення, вимкнення та порядок: кожен шрифт можна приховати без видалення файлу, а порядок у списку задається перетягуванням.
- Каталог шрифтів захищений: модуль створює в місці зберігання шрифтів правила доступу, що обмежують спосіб завантаження файлів.
Іконки та символи з контролем безпеки файлів
- Векторна графіка SVG: символи завантажуються як файли SVG, завдяки чому масштабуються без втрати якості незалежно від роздільної здатності попереднього перегляду.
- Очищення завантаженого файлу: перед збереженням у магазині файл SVG обробляється та позбавляється виконуваних елементів — скриптів, атрибутів подій, зовнішніх посилань, адрес javascript, закодованих сутностями, а також імпортів у стилях.
- Позначка «новинка»: вибрані іконки можна виділити в галереї етикеткою новинки, що дає змогу спрямувати увагу клієнта на щойно додані візерунки.
- Чотири символи після встановлення: модуль встановлює стартовий набір, що містить серце, зірку, гору та лапу.
- Автоматичне приховування кроку: якщо в магазині немає активних іконок, тип персоналізації «символ» взагалі не показується клієнту.
Налаштування гравіювання для окремого товару
- Окрема вкладка на сторінці товару: гравіювання вмикається безпосередньо в редагуванні товару в панелі, без переходу до конфігурації модуля.
- Пресет, що вибирається зі списку: товар вказує один пресет, тож ту саму область і ті самі розміри шрифтів можна використати для всієї групи схожих товарів.
- Шість цінових полів: для кожного товару задається ціна горизонтального, вертикального гравіювання та символу, а також відповідні акційні ціни.
- Акційна ціна, видима для клієнта: коли акційна ціна встановлена, конфігуратор показує її поруч із закресленою звичайною ціною для відповідного типу гравіювання.
- Увімкнення без видалення налаштувань: персоналізацію товару можна вимкнути, зберігши пресет і ціни на потім.
Варіанти — інше зображення та інший колір для варіанта товару
- Mockup, прив’язаний до значення атрибута: для окремих варіантів товару можна завантажити окреме базове зображення, щоб клієнт бачив гравіювання на вибраному ним варіанті.
- Зображення комбінації з каталогу: модуль може використати зображення комбінації, яке вже існує в магазині, якщо воно зберігає кадр, відносно якого було визначено область гравіювання.
- Колір напису для кожного варіанта: поруч із зображенням можна перевизначити колір гравіювання, що відповідає реальній різниці ефекту на різних матеріалах і кольорах.
- Перевизначення на рівні всього товару: коли кожен колір у магазині є окремим товаром, достатньо одного перевизначення зображення та кольору замість створення окремого пресета.
Контроль вмісту, який вводить клієнт
- Список дозволених символів: конфігурація модуля містить набір символів, допустимих у гравіюванні, завдяки чому до майстерні не потрапить напис із символом, який неможливо виконати.
- Ліміти довжини окремо для кожного типу: за замовчуванням десять символів для горизонтального гравіювання, двадцять для вертикального та десять для символу; значення можна змінити в налаштуваннях.
- Валідація на стороні сервера: ліміт символів і список дозволених символів повторно перевіряються під час збереження, а не лише в браузері.
- Збереження, захищене токеном: збереження та видалення персоналізації відбувається через кінцеву точку модуля, що вимагає правильного токена сесії.
Кошик, замовлення та комунікація з клієнтом
- Стандартна персоналізація PrestaShop: підтверджене гравіювання зберігається як персоналізація товару, тож проходить через кошик і процес оформлення замовлення механізмами самого магазину.
- Мініатюру замінено зображенням із гравіюванням: у кошику, у підсумку замовлення та на сторінках замовлень у панелі фото товару замінюється згенерованим попереднім переглядом персоналізації.
- Зрозумілий опис біля позиції замовлення: до позиції додається опис, що містить тип гравіювання, текст, позицію та назву шрифту, підготовлений так, щоб уміститися в ліміт довжини поля персоналізації PrestaShop.
- Деталі гравіювання в електронному листі: модуль доповнює повідомлення з підтвердженням замовлення інформацією про замовлену персоналізацію.
- Додавання вартості персоналізації: вартість гравіювання враховується у вартості позиції замовлення відповідно до прайсу, встановленого для конкретного товару.
Обробка замовлень в адміністративній панелі
- Панель гравіювань на сторінці замовлення: окрема таблиця містить попередній перегляд, назву товару, тип гравіювання, текст, шрифт, позицію, іконку та ціну — повний набір даних, потрібних для виконання замовлення.
- Стовпець «Гравіювання» у списку замовлень: список замовлень у панелі отримує стовпець, що позначає замовлення з персоналізацією, розміщений поруч зі стовпцем оплати.
- Попередній перегляд біля позиції замовлення: біля персоналізованої позиції з’являється посилання на зображення попереднього перегляду гравіювання.
- Посилання обмежене файлами модуля: адреса попереднього перегляду будується виключно на основі назв файлів, згенерованих цим модулем і збережених у базі персоналізації.
Підтримання даних і порядок у магазині
- Завдання очищення, що запускається циклічно: модуль надає адресу для розкладу CRON, який видаляє зображення попереднього перегляду з покинутих кошиків і осиротілі дані персоналізації.
- Токен, згенерований для магазину: кінцева точка очищення вимагає токена, що задається під час встановлення та порівнюється методом, стійким до аналізу часу відповіді, тож самого знання адреси недостатньо для запуску завдання.
- Налаштовуваний вік даних, що видаляються: мінімальний вік файлів, призначених для видалення, передається параметром виклику, що дає змогу адаптувати очищення до типової тривалості шляху покупки.
- Дата останнього запуску: модуль зберігає момент останнього виконання завдання очищення.
- Очищення після видалення товару: видалення товару в магазині видаляє пов’язану з ним конфігурацію гравіювання та дані варіантів.
- Обмеження для зображень: модуль приймає графічні файли до двох мегабайтів і з максимальною стороною до 2400 пікселів, а збережені попередні перегляди доповнює мініатюрою з максимальною стороною 600 пікселів.
Впровадження, мультистор і оновлення
- Дані розділені за магазинами: пресети, шрифти, іконки, налаштування товарів і варіанти зберігаються з прив’язкою до магазину, що дає змогу вести різні пропозиції персоналізації в середовищі multistore.
- Стартовий набір після встановлення: встановлення створює структуру каталогів для файлів, копіює шрифти та іконки, а також задає значення за замовчуванням для лімітів і списку дозволених символів.
- Власний розділ у меню панелі: модуль додає розділ із трьома екранами керування — пресетами, шрифтами та іконками.
- Шлях оновлення: пакет містить тринадцять скриптів оновлення, що проводять встановлення від перших випусків до поточної версії без ручних змін у базі даних.
- Чисте видалення: деінсталяція видаляє таблиці модуля, його налаштування та каталог із файлами шрифтів, іконок і базових зображень.
- Відсутність зовнішніх залежностей: модуль не потребує Composer, зовнішніх бібліотек PHP чи мережевих сервісів — він працює виключно на коді, що постачається в пакеті, і на API PrestaShop.
Переваги для інтернет-магазину
- Вища вартість кошика: персоналізація є платним доповненням до товару, ціну якого магазин встановлює окремо для кожного типу гравіювання та кожного товару.
- Менше запитань перед покупкою: клієнт бачить свій напис на фото товару до додавання в кошик, тому рідше запитує підтримку, який матиме вигляд результат.
- Менше помилок у майстерні: замовлення потрапляє до панелі з попереднім переглядом і повним описом — типом, текстом, шрифтом і позицією — замість примітки в коментарі до замовлення.
- Персоналізація як маркетинговий аргумент: безкоштовне гравіювання можна виділити на сторінці товару етикеткою та закресленою звичайною ціною.
- Налаштування один раз, багаторазове використання: один пресет обслуговує цілу групу товарів зі схожою формою та кадруванням зображення.
- Контроль над тим, що можна виконати: список дозволених символів і ліміти довжини обмежують замовлення написами, які реально можна виконати.
- Без зростаючого безладу у файлах: завдання очищення видаляє попередні перегляди з кошиків, які так і не стали замовленнями.
Сумісність
PD Grawer na produktach Pro підготовлено для PrestaShop від версії 1.7.8.2 через 8.x до 9.x, а також для PHP 7.0–8.5, а дані він зберігає в MySQL 5.6+ або MariaDB 10.x+. Модуль не потребує Composer чи зовнішніх бібліотек, а попередній перегляд гравіювання створюється в браузері клієнта без звернень до зовнішніх сервісів. Інтерфейс клієнта та панелі перекладено польською мовою, а модуль підтримує мультисторове середовище, прив’язуючи пресети, шрифти, іконки та налаштування товарів до конкретного магазину.