В nopCommerce есть поле, сделанное для этого, поэтому редактировать файл темы не нужно и восстанавливать что-либо после обновления тоже. Это тот же один тег скрипта, что и в установке сниппета.
Сначала возьмите сниппет в своей панели. Выглядит он так, с вашим собственным идентификатором сайта в пути:
<script src="https://t.skomi.com/s/your-site-id.js" defer></script>
Вставьте его в Custom HTML
В административной части откройте Configuration → Settings → General settings и найдите раздел Custom HTML. Вставьте тег в Footer custom HTML и сохраните.
Это вся установка. Тег добавляется на каждую страницу магазина и несёт defer, так что отрисовку он не задерживает.
Поле для шапки здесь не подходит по той же причине, по которой документация о сниппете велит вставлять перед закрывающим </body>: ничему на странице не нужно его ждать.
Если у вас несколько магазинов
Наверху страницы настроек есть выбор store scope, и Custom HTML — одна из настроек, на которые он влияет. Каждый магазин — отдельный домен, поэтому каждый из них в Skomi отдельный сайт со своим идентификатором:
- Выберите магазин в переключателе области.
- Отметьте флажок переопределения рядом с Footer custom HTML.
- Вставьте тег именно этого магазина и сохраните.
Выбирайте область до вставки. Вставка тега одного магазина при области «All stores» отчитывается за все магазины как за один сайт, и числа после этого — сумма, о которой никто не просил.
Кеши
nopCommerce применяет настройку сразу, но полностраничный кеш, обратный прокси или CDN перед магазином продолжат отдавать страницы, собранные до сохранения. Очистите его, потом загрузите страницу.
Если нужен плагин или тема
Если тег должен принадлежать плагину, а не полю настроек, виджет может вставить его в зону виджетов шапки или подвала так же, как добавляется любой другой сторонний скрипт. Для одного магазина поле Custom HTML — ответ проще, и предпочесть стоит его.
Проверьте, что работает
Загрузите страницу магазина и посмотрите в свою панель. Если ничего не пришло, смотрите что проверить, когда сниппет не работает: в магазине обычный ответ — кеш перед nopCommerce или тег, сохранённый не для той области.