Блог
Мануалы

Обновления Аспро: где они ломают сайт и как с этим жить

В какой-то момент каждый сайт на «1С-Битрикс» с решением Аспро встает перед задачей обновления. Казалось бы, все просто: админка → Marketplace → «Обновление решений». Нажал кнопку — и система сама подтянула свежие файлы.

На практике все далеко не так гладко. Обновление работает идеально только в одном случае: если решение не кастомизировали. Но давайте честно — таких сайтов почти не бывает. Почти всегда что-то уже доработано, переписано или «подкручено под бизнес». И вот тут начинаются приключения.

Что именно ломается при обновлении

После апдейта у многих отваливается функционал. Причина в том, что Аспро затрагивает:
  • свои модули /bitrix/components/aspro/;
  • шаблон /bitrix/templates/aspro_next/;
  • отдельные служебные папки вроде /personal/, /ajax/, /order/.

А вот папку /local/ обновления не трогают. В итоге новые файлы не стыкуются со старыми кастомизациями, и сайт начинает вести себя непредсказуемо.

Классическая картина: обновился компонент в /bitrix/, а его кастомная версия в /local/ осталась прежней. В результате половина логики работает по-новому, половина — по-старому.

Как разрулить проблемы

Первое и самое важное — делать бэкап. Без этого любое обновление превращается в игру в рулетку.
Если после обновления сайт все же упал:
1. Смотрим, какие файлы изменились. Это можно сделать через поиск в админке или простым find по дате модификации.
2. Копируем свежие версии из /bitrix/templates/aspro_next/ в свой /local/. Если кастомизаций мало, можно тащить целые шаблоны компонентов.

3. Если кастомизаций много — аккуратно переносим только нужные изменения, чтобы не снести уникальные доработки.

4. Проверяем сайт в «чистом» шаблоне. Для этого нужно заранее настроить второй шаблон («чистый») с параметром вида ?tmpl=aspro в настройках шаблонов сайта. Если там все работает, значит, проблема именно в кастомном шаблоне.
5. В крайнем случае можно открыть демо-сайт Аспро или запросить доступ к админке — это помогает сравнить поведение и понять, что должно быть «из коробки».

Важно: у Аспро нет готового решения для обновления кастомизированных сайтов. Поэтому придется самим вставать на путь, полный трудностей и испытаний.

Как подойти к кастомизациям

Если сайт планируется серьезно дорабатывать, лучше сразу скопировать шаблон из /bitrix/templates/aspro_next/ в /local/. Так кастомные изменения будут изолированы и переживут обновления.
Для легких доработок достаточно кастомизировать шапку и отдельные компоненты. Все остальные задачи можно решать стандартными методами:
  • result_modifier.php для подмены данных;
  • собственные функции и классы-наследники Aspro;
  • создание новых шаблонов компонентов.

Перед тем как пилить новую функцию, стоит заглянуть в админку (Аспро → Настройки) и просто «погуглить». Часто нужный функционал уже реализован, просто не включен.

Когда лучше идти в саппорт

Если после всех танцев сайт продолжает чудить, есть еще один вариант — обратиться в поддержку Аспро. И надо отдать должное: они действительно помогают. Главное — формулировать вопрос по делу и четко разделять, где проблема в Аспро, а где в самом Битриксе.
Полезные материалы от самой Аспро:
Обновление решений Аспро
Кастомизация и обновления

Итог

Обновление Аспро — это не просто нажать кнопку «Обновить», а полноценный квест. Оно всегда требует внимания и понимания, как работает связка /bitrix/ и /local/.

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