Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

Drupal

Views и код языка

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

Попытка сконструировать ссылку вручную в виде /[language]/node/[nid]/edit показала: оказывается во вьюзе поле языка материала может выводить только полное название языка: «Русский», «Английский» и т.п. А надо-то langcode, то есть 'ru' и 'en'.

Вполне естественно, что я не первый обнаружил проблему. Патч уже существует и работает. Нужно только удалить поле языка из вьюхи и добавить заново, чтобы проинициализировался параметр отображения языка.

Комментарии