Исправляем косяки в битриксе

Очередной день с программированием.

Как вы помните, я познакомился с каналом Михаила Базарова на ютубе, и проникся его приверженностью документации битрикса. Недолго думая, я решил преобразовывать сайт магазина подарков своими силами — это было ошибкой.

Сначала создал папку local, куда скопировал шаблоны сайта, а активный шаблон не был первым, и я недоумевал, почему дизайн сайта слетел. Оказывается, все, что в папке local — имеет преимущество над другими папками, а значит, пока мой главный шаблон не скопируется, дизайна не будет.

Мое внутреннее негодование усилилось, когда я начал проверять восстановление дизайна. Часть кнопок пропала, отвалились виджеты, корзина стала незаметной на общем фоне.

Я начал копаться в сайте и файлах, и понял, что часть скриптов и изображений прописаны абсолютными путями к старому шаблону. Раз уж взялся, надо доделывать.

Первая попытка — найти ссылающиеся файлы прямым перебором увенчалась провалом. Файлов много, понять логику без опта невозможно.

Вторая попытка озарила меня только что — открыть сайт в режиме кода и смотреть, что к чему обращается. Так я нашел скрипты, вызывающие другие скрипты, и поменял пути. Сразу восстановились виджеты соц.сетей и картинки в карточке товара.

Далее оставался один скрипт черной пятницы, который оказался функцией INCLUDE в шаблоне. Если бы я не занимался php в прошлый раз, не догадался бы. Нашел этот включаемый файл, изменил в нем пути, и теперь ошибок не осталось.

Последнее действие — сбросить кеш сайта и пройтись по нему в поисках проблем. И нашел — оказалось, я сохранял действия в UTF-8, а сайт работает в CP-1251. Пришлось не просто найти все измененные файлы и пересохранить файлы, но и переписать все тексты заново.

Теперь сайт работает, все изображения грузятся, я собой доволен, потому что разобрался с тем самым пресловутым битриксом без знания фишек через чтение документации.