[Решение?] Проблема с Entity Translations - Notice: Undefined index: uri in theme_image_formatter()

Главные вкладки

Аватар пользователя Antoniy Antoniy 15 января 2013 в 21:21

Если воспользоватся Entity Translations для перевода полей типа image, например,
если задействовано заполнение и вывод значения Alt, а потом удалить изображение в поле
image через интерфейс node/*/edit, то появляются проблемы:
Notice: Undefined index: uri in theme_image_formatter()
и если задействован в виджете поля image модуль Gallery Formatter, то выводится:
Notice: Undefined index: uri in galleryformatter_field_formatter_view()

Решение (временное):
Идем в /admin/config/regional/entity_translation
и отключаем (убираем галочку) в пункте Enable language fallback, сохраняем.

Как я понял при этом (Enable language fallback) Drupal продолжает думать, что поле с изображением существует, хотя изображение в поле image удалено.

UPD: Уведомление исчезает, но при удалении изображения из поля в одном языке, на странице другого языка остается вывод пустого alt и src без пути к файлу (только домен) и остаются соответственно html-выводы классов поля. Это убирается пересохранением перевода ноды. Получается что это проблема из-за синхронизации поля (Field synchronization), что бы можно было видеть поле, как сущность (entity), в переводах на другие языки.

Комментарии

Аватар пользователя Antoniy Antoniy 16 января 2013 в 11:30

После удаления изображения imagefield все же выводятся уведомления на странице перевода, если еще galleryformatter цеплять:

Notice: Undefined index: uri in theme_image_formatter() (line 602 of mypath\modules\image\image.field.inc).

Notice: Undefined index: uri in galleryformatter_field_formatter_view() (line 328 of mypath\sites\all\modules\galleryformatter\galleryformatter.module).

Решается по прежнему пересохранением перевода.

Аватар пользователя Antoniy Antoniy 16 января 2013 в 11:30

Notice: Undefined index: uri in galleryformatter_field_formatter_view() (line 328 of mypath\sites\all\modules\galleryformatter\galleryformatter.module).

Появляется если в форматере imagefield с galleryformatter была выставлена ссылка на оригинальное изображение. Если ее не выставлять, то уведомления после удаления изображения нет.

Но остается:
Notice: Undefined index: uri in theme_image_formatter() (line 602 of mypath\modules\image\image.field.inc).

Аватар пользователя Antoniy Antoniy 18 января 2013 в 2:52

Если без ссылки на оригинальный файл в форматере, то при удалении изображения imagefield сначала из перевода (соответственно и из источника), не возникает этой проблемы.