Решение проблемы. Image CMS — ошибка 500 (internal server error) после редактирования шаблона (main.tpl)

Недавно потребовалось прописать код метрики на сайт под ImageCMS. Прописал JavaScript прописал в файле шаблона main.tpl в конец файла и сайт стал 500 ошибку выдавать. Промучался несколько часов, а из «бекапов» был только последний main.tpl (привычка перед правкой скачивать актуальный корректный файл). Заливал файл на сервер а толку ноль. Думал причина в кодировке файла или типе передачи, перелазил все настройки FileZilla…

В интернете как будто никто не сталкивался с проблемой. Стал капать в торону кеша и не прогадал.

Решение проблемы ошибки 500 (internal server error) на ImageCMS
Код JavaScript (в моем случае метрика и скрипт аналитики) не содержал ошибок, но сайт не работает по причине того что imagecms берёт закешированный «не валидный» файл (по факту отличный) и во время навороченных манипуляций по «строительству сайта ран-тайм» успешно уходит в даун. Я не стал копаться в том как устроен механизм работы этой CMS потому что сайт клиентский (ставил не я) и нужно было всего лишь прописать JS. В общем решение проблемы в удалении кеша из папки по адресу «/system/cache/templates_c»

Но как вставить свой код чтобы не возникала ошибка? в интернете пишут что багнутый по версии imagecms код нужно обрамлять тегами {literal}{/literal}. Я сделал по-другому. Залил необходимый скрипт в файл api.js который подключается в конце main.tpl.

Ещё одно решение проблемы подгрузить код через теги script

Подключение JS для исправления ошибки 500 - Internal Server Error на ImageCMS

Подключение JS для исправления ошибки 500 — Internal Server Error на ImageCMS


Доступа к админке у меня не было, только FTP. Скорей всего там предусмотрена чистка кеша, так что можно сделать это через админку. Я редактировал main.tpl через FTP (FileZilla).

Вывод

  1. 1. Всегда делать бекапы ImageCMS всего сайта
  2. 2. Обрамлять куски кода, особенно JS в {litearl}{/literal}
  3. 3. Не использовать «лишние символы» -_-

Если у вас возникла подобная ошибка и вышенаписанное не помогло (вероятно закешировался другой файл, который вы правили) пишите сюда в комментарии, разберёмся.

0

Ура! Вы первые нашли эту информацию, сделайте доброе дело, поделитесь ей в: