Часто новички сталкиваются с проблемой подключения скриптов типа Яндекс Метрики на MODX сайт. Сейчас постараюсь разжевать как это сделать.
Подразумевается, что код (аналитики, консультанта, пикселя и т.п.) вы уже получили и не знаете куда его подключить.
Кто идет по моим урокам, вам нужно вставлять его в чанк tpl.
Куда подключать скрипты?
Сервисы аналитики Яндекс метрика, Google Analytics и прочие обычно просят подключать их счетчики в секцию head. Но я не рекомендую подключать их там, т.к. вы прилично понизите скорость его загрузки (аналитика начнет уже что то снимать, а сайт еще до конца не прогрузился). Лично я рекомендую подключать скрипты перед закрытием тега body.
Быстрое добавление любого кода в BODY или HEAD при помощи Counters
Не хотите искать куда поставить код руками, можно это сделать при помощи бесплатного дополнения Counters (не тестировал работоспособность с MODX 3).
Установить дополнение Counters можно из репозитория modstore. После активации пакета, нужно перейти в Пакеты — Counters. На открывшейся странице, нажать на кнопку «Создать счетчик». В сплывающем окне добавить Название, в поле Контент добавить код счетчика, после чего выбрать его расположение BODY или HEAD, поставить включено и Сохранить.
После этого данный код автоматом должен подключится к сайту.
Как найти место размещения скрипта (head или закрытие body)
Поиск при помощи дополнения
Если сайт создан на обычных (не файловых) чанках и шаблонах (это преобладающее большинство), то расположение нужно места найти проще простого. Для этого установите из репозитория MODX дополнение modDevTools (не тестировал работоспособность с modx 3).
После активации пакета, обновите страницу, после чего перейдите в Пакеты — modDevTools. На открывшейся странице в поле «» пишем например </body> и жмем по кнопке Найти. После чего получите примерно такой результат
Хорошо если это 1 чанк, открываете его и вставляет код. Плохо если в результатах поиска показывается куча шаблонов, тогда вам нужно зайти в каждый и подключить там код.
Ручной поиск
Предположим, что дополнение ничего не нашло, тогда первым делом открываем шаблон главной и еще какой-нибудь внутренней страницы. Бысто узнать шаблон страницы можно щелкнув по нему правой клавишей мыши и выбрать «Быстро обновить».
Далее находим его на вкладке «Элементы» и смотрим код, у меня там обычно так:
Просто подключается чанк со сквозными элементами, следовательно находим его и перед закрытием body подключаем код.
Но такая разбивка далеко не у всех, но суть не меняется, может у вас в шаблоне есть подключение чанков script или footer, находим нужный и подключаем его. Ну и так же встречал жесть — шаблоны без разбивок, там уже подключать код нужно в каждый шаблон.
Так же в шаблонах вы можете увидеть не стандартный синтаксис, на fenom
в конкретно данном примере проще всего подключить код в чанк footer ({insert ‘footer’}, чтобы не бегать по остальным шаблонам).
А еще можно увидеть вот такие подключения на fenom:
Вот если вы видите file: значит это подключение файлового элемента, и вы его при помощи поиска не найдете, т.к. он не хранится в элементах))) Файловые элементы fenom обычно по умолчанию хранят в core/elements. Но если там их нет, идем в системные настройки в поиск по ключу вбиваем pdotools_elements_path и смотрим Путь к элементам.
после чего переходим туда и ищем наш файловый шаблон.
Смотрите есть в нем нужные секции, если шаблон собран грамотно, скорее всего вы их там не найдете, но зато сверху увидите примерно такой код {extends ‘file:templates/base.tpl’}.
Он говорит что основной шаблон это base.tpl, а МainTemplate.tpl его расширяет, считайте что вам повезло) открываем файл base.tpl и подключаем туда аналитику.
Надеюсь что у вас получилось найти нужное место для подключения. Теперь разберемся с проблемами подключения скриптов, если включен fenom.
Как посмотреть подключился код или нет
Чтобы посмотреть подключился код или нет, откройте главную страницу. Сбросьте ее кэш CTRL+F5, далее откройте ее исходный код CTRL+U. Далее жмем CTRL + F (появится окно поиска), в нем пишем кусочек кода и смотрим.
Иногда нужно очищать код из админки.
Решение проблемы со скриптами с fenom (белым экраном)
Если после того как вы добавили код, все сохранили и перешли на страницу сайта, а в место нее увидели белый экран. 99% это конфликт фигурных скобок и fenom, а устранить его можно разными способами:
Поставить до и после фигурной скобки (всех) пробелы, как на скрине выше.
Обернуть код счетчика в {ignore} …{/ignore}
запихать его в js файл (только то что находиться промеж <script type=»text/javascript» >…</script>) и подключить этот файлик <script src=»путь/имя-файла.js»></script>.
Вроде все) Если, что то не получилось спрашивайте.