Причина — не в Twig, а в механизме "ленивой загрузки" (lazy load), который заменяет реальный src на «пустой» 1×1 gif и кладёт реальный URL в data-src + добавляет класс lazyATS. Такой подход нормален — JavaScript должен потом подставить data-src обратно в src при прокрутке/инициализации. В вашем случае этого не происходит (поэтому картинка не загружается).
Что сделать — варианты и пошаговые проверки:
1) Быстрая проверка (консоль)
- Откройте DevTools → Console и смотрите на ошибки JS. Если скрипт ленивой загрузки не запускается из‑за ошибки ранее — он не восстановит src.
- В Elements посмотрите, какие классы/атрибуты добавлены (lazyATS, data-src). Это подтвердит, что именно lazy‑скрипт выполняет замену.
2) Самый простой способ — выключить lazy load в теме/расширении
- В Journal (или в настройках вашей темы/модуля lazy load) есть опция отключения Lazy Load. Отключите её — тогда img останется с нормальным src.
- Если lazy подключён отдельным модулем — отключите/удалите модуль.
3) Найти и править скрипт lazy (если нужно тонко настроить)
- Найдите в каталоге темы/сайта where добавляется класс lazyATS:
grep -R "lazyATS" catalog/ \
или
grep -R "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==" -n
- Откройте найденный JS и посмотрите логику: почему он не подставляет data-src обратно (или почему он вообще срабатывает некорректно). Возможно, скрипт ожидает jQuery/другие зависимости или ищет атрибуты в другом формате.
4) Быстрый код‑фикс в шаблоне (обходной путь)
- Если нужно срочно показывать изображение, можно принудительно вернуть реальный URL в src и отключить для этого тега ленивую загрузку:
- Попробуйте добавить loading="eager":
<img src="image/{{ manufacturerInfo.image2 }}" alt="" class="manufacturer-brand__icon" loading="eager" />
- Или добавьте специальный класс/атрибут, который ваш lazy‑скрипт пропускает (например no-lazy) и при необходимости отредактируйте скрипт чтобы он игнорировал такие элементы:
<img src="image/{{ manufacturerInfo.image2 }}" alt="" class="manufacturer-brand__icon no-lazy" />
- Если вы не знаете, какой класс игнорируется, проще — временно удалить подключение JS ленивой загрузки.
5) Если вы хотите оставить lazy, но чтобы он работал корректно
- Исправьте JS‑ошибки, обеспечьте правильную инициализацию lazy скрипта (иногда нужно вызвать init вручную после загрузки части страницы).
- Убедитесь, что ваши картинки имеют полный URL или корректный относительный путь — иногда lazy‑скрипт ожидал абсолютный URL и не подставляет его обратно.
Резюме и практическое действие
- Сначала проверьте консоль на ошибки.
- Если нужно быстро — в настройках Journal отключите lazy load или временно уберите/отключите соответствующий JS-файл.
- Для более аккуратного решения — найдите в коде скрипт, который создаёт класс lazyATS/placeholder, и исправьте логику (или добавьте исключение по классу, или корректную инициализацию).
Если хотите, могу:
- подсказать точное место файла в Journal (попросите доступ/укажите структуру файлов),
- или прислать содержимое catalog/view/theme/.../template/product.twig — подскажу конкретную правку.