Точки для доповнень
Повний список місць, куди доповнення виводять свою розмітку, і що буде, якщо тема їх не поставить.
На цій сторінці
Доповнення виводять свою розмітку не там, де їм заманеться, а в місцях, які
оголосила тема. Таке місце називається точкою вбудовування і ставиться тегом
{hook}:
{hook name="product.buybox.end" product=$product}
Передплатників немає — тег не виводить нічого. Кожне доповнення викликається окремо і під захистом від помилок: те, що впало, не виводить нічого, а сторінка залишається живою.
Навіщо це темі
Тема, яка не поставила точки, ламає доповнення. Власник купив «Купити в один клік» — а кнопки на картці товару немає. Купив «Подарунки до замовлення» — у кошику нічого не з'явилося. Він бачить не «тема не підтримує», а «доповнення не працює», і пише в підтримку.
Тому точки ставлять усі, навіть ті, для яких у власника зараз нічого не встановлено: вони нічого не коштують і нічого не виводять, доки не знадобляться.
Передавайте контекст
Усе, що передано параметрами, їде доповненню. Без контексту доповнення не знає, про який товар або позицію йдеться:
{hook name="product.buybox.end" product=$product}
{hook name="cart.item.after" item=$i}
{hook name="product.card.footer" product=$product}
Повний перелік точок
Загальні
| Точка | Де стоїть |
|---|---|
storefront.head |
наприкінці <head> |
storefront.body.start |
одразу після відкриття <body> |
storefront.body.end |
перед закриттям <body> |
footer.start |
на початку підвалу |
footer.end |
наприкінці підвалу |
Перші три — найбільш навантажені: туди стають лічильники аналітики, вікно згоди на cookie, чат на сайті, вікно підписки на сповіщення. Без них половина доповнень не запрацює зовсім.
Каталог і товар
| Точка | Де стоїть |
|---|---|
catalog.filters.end |
під панеллю фільтрів |
product.title.end |
одразу після назви товару |
product.rating |
поряд з оцінкою |
product.price.end |
під ціною |
product.buybox.end |
під кнопкою купівлі |
product.tabs.end |
після вкладок опису |
product.reviews.list |
у списку відгуків |
product.questions |
у блоці запитань |
product.bottom |
унизу сторінки товару |
product.card.footer |
у підвалі картки товару у списку |
product.buybox.end і product.card.footer — робочі конячки: туди стають
кнопка «Купити в один клік», «Повідомити про надходження», позначка «до товару
подарунок», плашка акції. Ставте їх обов'язково.
Кошик
| Точка | Де стоїть |
|---|---|
cart.body |
у тілі сторінки кошика |
cart.items.before |
над списком товарів |
cart.item.after |
після кожної позиції |
cart.totals.after |
під підсумками |
cart.items.before — смужка «до подарунка залишилося 350 ₴»; cart.totals.after —
блок «Ваш подарунок» з вибором.
Оформлення замовлення
| Точка | Де стоїть |
|---|---|
checkout.head |
у шапці сторінки оформлення |
checkout.body |
у тілі форми |
checkout.contact.before / .after |
до і після блоку контактів |
checkout.delivery.before / .after |
до і після блоку доставки |
checkout.field.city |
поряд з полем міста |
checkout.payment.before / .after |
до і після блоку оплати |
checkout.confirm.before / .after |
до і після підтвердження |
checkout.totals.after |
під підсумками |
checkout.submit.before |
над кнопкою «Оформити» |
checkout.success.after |
на сторінці «замовлення прийнято» |
checkout.pay.after |
на сторінці оплати |
checkout.success.after — одна з найзатребуваніших: туди стають події
аналітики про покупку, пропозиція прив'язати Telegram, запрошення до кабінету.
Особистий кабінет
| Точка | Де стоїть |
|---|---|
account.login.body |
на сторінці входу |
account.login.methods |
серед способів входу |
account.register.body |
на сторінці реєстрації |
account.forgotpassword.body |
на відновленні пароля |
account.verify.body |
на підтвердженні пошти |
account.phone.body |
на підтвердженні телефону |
account.profile.body |
у профілі |
account.orders.body |
у списку замовлень |
account.order.body |
на сторінці замовлення |
account.favorites.body |
в обраному |
account.login.methods — вхід через соцмережі та Telegram; account.profile.body —
прив'язка месенджерів.
Що зайнято просто зараз
Зі встановлених доповнень найчастіше використовуються:
| Точка | Хто в ній |
|---|---|
storefront.head |
аналітика, SEO, чат, сповіщення, рекламні мітки |
storefront.body.end |
чат на сайті, вікно згоди, підписка на сповіщення |
product.buybox.end |
купити в один клік, повідомити про надходження, подарунки |
checkout.success.after |
події аналітики, прив'язка Telegram |
cart.items.before, cart.totals.after |
подарунки до замовлення |
product.price.end, product.card.footer |
акції |
checkout.field.city |
пункт видачі замовлень |
checkout.contact.before |
реквізити компанії за кодом |
account.profile.body |
прив'язка Telegram |
Перелік зростатиме — це ще один доказ на користь того, щоб поставити всі точки одразу.
Шаблони та стилі доповнень
Доповнення з власною розміткою кладе її просто у вашу тему:
themes/ваша-тема/
templates/plugins/<доповнення>/…
assets/plugins/<доповнення>/…
Ці файли правляться як будь-які інші — вигляд блоку змінюєте ви, і він залишиться вашим.
Але в пакет теми вони не потрапляють: у клієнта там будуть його доповнення, а не ваші. Установлення вашої теми його блоки не затре — під час оновлення теми ці папки переносяться з попередньої версії в нову.
Як дізнатися, що приносить доповнення
Кожне доповнення зобов'язане описати свої вбудовування у власному маніфесті: у яку точку воно виводить, що саме там з'являється і які файли підключає. Це вимога, а не побажання — доповнення фізично не може завести тег або блок, не описавши його.
Практичний спосіб подивитися — заглянути в папку templates/plugins/ своєї
теми: що там лежить, те й виводиться.
Свої точки
Тема може оголосити точку, якої в цьому переліку немає:
{hook name="mytheme.sidebar" }
Сенсу в цьому мало: доповнення про неї не знають. Корисно лише тоді, коли ви робите тему і доповнення в парі — тоді точка стає їхньою спільною домовленістю.
Дотримуйтеся загального переліку: тема, яка поставила всі відомі точки, працює з будь-яким доповненням з маркетплейсу, і це її головна перевага перед версткою «під один магазин».