Копіпаст між листами: як це насправді працює
Ви одночасно проводите три кампанії: промоакцію цього тижня, заплановану на вівторок серію нагадувань та інформаційну розсилку, яку клієнт очікує отримати до обіду. Усі три шаблони знаходяться в одному редакторі, і для всіх них потрібен один і той самий блок із банером та кнопкою, який уже створено для першого шаблону.
Можна робити це власноручно, але на кожен лист піде по десять хвилин: вставити зображення, скопіювати текст, налаштувати інтервали, створити кнопку та додати посилання — і все це лише для того, щоб повторити те саме, що вже є на сусідній вкладці. А якщо зберегти це як модуль, він опиниться в бібліотеці, до якої ви, найімовірніше, не заглядали вже кілька місяців, серед блоків, про створення яких ви давно забули.
Варто також врахувати, що навіть якщо ви оберете перший варіант і відтворите вже наявний блок, результат не завжди відповідатиме оригіналу. Деякі елементи, завдяки яким вихідний блок виглядав правильно, можуть знаходитися на один рівень вище: у контейнері чи структурі, а не всередині самого блоку. А merge-тег, який відображав ім’я в одному листі, може перетворитися на звичайний текст в іншому, якщо цей тег не визначений у проєкті, в який було вставлено текст.
Незалежно від використовуваного редактора результат копіювання визначатиметься тим, що дійсно належало елементу, а що було лише запозичено з попереднього розташування. Колір кнопки, який ви визначили, належить самій кнопці. Фон, успадкований контейнером від смуги, належить смузі. Усі проблеми, що виникають під час переміщення блоків між листами та вкладками, часто є наслідком появи цієї межі там, де її не очікували.
Проблема не лише в редакторі
Ця проблема не пов’язана з якимось конкретним інструментом для створення email-розсилок. Пропоновані на ринку варіанти таких функцій схожі між собою і відрізняються лише формально.
Метод фіксованого дерева. Об’єктом копіювання є рядок: навіть якщо ви виділяєте окреме зображення всередині нього, завжди копіюється сам рядок — корінь копійованої структури. Перенесення в інший лист складається з чотирьох дій: виділення, копіювання, перемикання та вставка, без проміжного кроку з використанням бібліотеки.
Будь-які атрибути стилю, застосовані напряму до елементів усередині рядка, зберігаються під час переміщення, але будь-який стиль, успадкований рядком від вихідного шаблону, перевизначається з урахуванням нового шаблону, тому блок може змінити колір під час вставки без будь-яких додаткових дій. Це збиває з пантелику, оскільки підсвічування виділеного фрагмента створює враження, що ви скопіювали зображення. А вставка підтверджує протилежне. Рядок — це найменший елемент, який можна виділити в шаблоні: стовпець, зображення або окрема кнопка не можуть бути виділені окремо.
Джерело пріоритетної бібліотеки. Одиницею копіювання є те, що ви зберігаєте, і зазвичай це цілий рядок або модуль. Процес складається з чотирьох дій: збереження, присвоєння об’єкту назви, пошук його в бібліотеці та вставлення об’єкта в новий лист.
Об’єкт зберігає свої вихідні кольори та шрифти незалежно від місця вставки, а стилі цільового шаблону листа застосовуються лише там, де для об’єкта нічого не визначено. Він завжди виглядає однаково, незалежно від того, у який лист ви його вставляєте, навіть якщо це не відповідає вимогам середовища.
Бібліотека з таксономічною вартістю. Тут діє те саме правило пріоритету джерела, про яке йшлося вище, але для збереження потрібно дещо більше, ніж просто назва. Щоб процес збереження був завершений, потрібно вказати як категорію, так і кілька тегів, тому для одноразового пересилання листа з однієї пошти на іншу спочатку потрібно створити систему класифікації.
|
Підхід |
Об’єкт копіювання |
Стилі |
Де ламається |
|
Фіксоване дерево |
Весь рядок, фіксований корінь |
Власні стилі зберігаються, успадковані — перевизначаються |
Вибір передбачає одне, а результат виявляється іншим |
|
Пріоритет джерела |
Усе, що ви збережете |
Стилі джерела завжди мають пріоритет |
Скрізь виглядає однаково |
|
Бібліотека таксономії |
Усе, що ви збережете |
Усе, що ви збережете |
Ціна за разову подачу |
Непідконтрольний шар
Сам буфер обміну створює додаткову й менш очевидну точку відмови. Копіювання через системний буфер обміну залежить від того, чи надає браузер доступ, і цей доступ не гарантується під час кожної спроби копіювання.
У разі відмови в доступі деякі інструменти переходять на збереження копії локально, що працює лише в межах одного домену. Вставте текст у межах того самого проєкту, і ви навіть не помітите, що система перейшла на альтернативний метод. Спробуйте вставити той самий текст за межами домену, і операція не дасть жодного результату.
І виникає ситуація, коли ви клікаєте, але нічого не відбувається: не з’являється ані повідомлення про помилку, ані будь-яка інша вказівка на збій.
Що зробили в Stripo для вирішення цієї проблеми
Модульна система Stripo завжди вирішувала завдання одноразового створення об’єкта та його багаторазового повторного використання. Однак тепер вона також вирішує проміжне завдання: переміщення об’єкта рівно один раз без його збереження.
Тепер можна скопіювати будь-який блок, контейнер, структуру чи цілу смугу з одного шаблону та вставити її одразу в іншу, не додаючи в бібліотеку.
Одне поєднання клавіш для будь-якої вкладки
Виберіть елемент, скопіюйте його, перейдіть на іншу вкладку та вставте. Ця комбінація клавіш працює однаково як під час переміщення однієї кнопки, так і цілої секції, оскільки Stripo розпізнає тип скопійованого елемента та коректно відтворює його в іншому місці.
Ця функція працює через системний буфер обміну, який використовується для всіх інших операцій копіпасту на комп’ютері, тому її можна застосовувати не лише між відкритими вкладками в одному браузері, а й між вікнами та браузерами. Якщо браузер блокує цей доступ, Stripo плавно переходить на локальну копію — фолбек, пов’язаний з зазначеним доменом.

Якщо ви скопіюєте блок товару з трьома стовпцями з однієї маркетингової кампанії та вставите його в розсилку, створену з використанням одного стовпця, Stripo автоматично адаптує ширину скопійованого блоку до ширини шаблону листа, в який він буде вставлений.
Повернемося до трьох вкладок, про які йшлося на початку. Переміщення блоку «Банер» з рекламної кампанії до серії нагадувань та інформаційної розсилки вимагає лише чотирьох дій: вибрати, скопіювати, перейти на іншу вкладку та вставити. Не потрібно нічого перейменовувати чи зберігати у вигляді окремого файлу, а розмір бібліотеки модулів залишається незмінним.
Після переміщення блоку слід перевірити не саму верстку, а ті елементи, на які блок лише посилався, а не містив напряму: тег персоналізації, умову відображення та мовну версію.

Що переміщується разом з елементом
Тут діє та сама логіка «набуте проти успадкованого», що й на ринку, але сформульована точніше.
Синя кнопка завжди буде саме синьою, оскільки синій колір було визначено виключно для цієї кнопки. Натомість колір фону контейнера не успадковується таким самим чином, якщо його не було явно визначено, а успадковано від відповідної смуги.
|
Елемент |
Що відбувається |
|
Структура та розмітка стовпців |
Копіює точно, у тій самій послідовності |
|
Зовнішні та внутрішні відступи, інтервали |
Зберігаються у визначеному вигляді |
|
Стилі, застосовані напряму до елемента |
Будь-який колір, межа чи шрифт, які ви визначаєте власноруч |
|
Кастомні шрифти |
До 64 посилань на шрифти в одному листі |
|
Тип: HTML або AMP |
Зберігається у первісному вигляді |
|
Приховування на десктопі / мобільному пристрої |
Параметр переміщується разом з елементом |
|
Стандартні merge-теги |
Працюють одразу в новому листі |
|
Фіксовані елементи |
Стан фіксації залишається незмінним |
|
Таймери з фіксованою датою |
Копіюються автоматично одразу після вставки |
Merge-теги, умови та мовні версії
Деякі елементи поводяться трохи інакше, але зрештою все зводиться до того самого правила, про яке ми вже згадували: те, що належить елементу, переміщується разом з ним, а те, на що він лише посилається, залишається прив’язаним до місця розташування цього посилання.
Merge-тег — це посилання на те, що визначено на рівні проєкту, а не в самому елементі. Скопіюйте елемент у проєкт, де вже існує цей самий тег, і він одразу ж запрацює. Скопіюйте його в нове місце, і у Stripo поки що не буде, на що посилатися, тому тег відображатиметься як звичайний текст, доки ви не додасте його в цей проєкт.
Попередньо визначені умови працюють за тим самим принципом. Вони прив’язані до загальної бібліотеки умов проєкту, тому скопійована умова стає самостійною користувацькою умовою в новому місці. Вона продовжує працювати точно так само, як і під час створення. Просто вона більше не пов’язана з вихідною бібліотекою, так само, як скопійований абзац більше не пов’язаний з документом, з якого його було скопійовано.
Мовні версії відповідають логіці відображення на екрані: копіюється та версія, яку ви переглядаєте в даний момент. Додавайте інші мови в новий лист так само, якби ви створювали їх там з нуля.
Коли краще не копіпастити
Копіпаст є зручним, якщо робити це лише один раз і точно знати, куди саме це буде вставлено. Щойно знадобиться повторити цю операцію, копіпаст уже не спрацює.
Якщо вам потрібно використовувати один футер для десятка листів або якщо наступного місяця його доведеться змінювати комусь іншому, краще скористатися модулем: достатньо змінити в ньому контент, і всі листи оновляться автоматично, що набагато зручніше, ніж вносити зміни в десяток вставлених фрагментів по одному.
На завершення
Щоб перемістити блок «Банер» з одного листа у два інших, тепер достатньо лише кількох кліків: стилі та розмітка залишаються незмінними, і немає потреби щось називати чи зберігати на майбутнє.
Єдина звичка, яку варто виробити на додаток до цього, полягає в наступному: після вставки елемента, у якому використовується merge-тег, умова відображення чи мовна версія, приділіть кілька додаткових секунд перевірці розташування цих елементів.
Дизайн, розмітка та інтервали є невід’ємною частиною самого елемента і переміщуються разом з ним. Merge-теги, умови та різні мовні версії — все це посилання, які залишаються прив’язаними до проєкту, з якого вони походять.


0 коментарів