Вы здесь

Как выбрать все материалы одного типа с существующим переводом?

0

Есть мультиязычный сайт с несколькими языками. У некоторых материалов есть переводы, у некоторых нет.
Допустим, нужно выбрать все материалы определённого типа, которые переведены на русский язык. Как это сделать?

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

Это решение кажется сложным. Может есть более простой путь?

Версия Drupal: 
7.x
Категория: 
Multilingual
Вопрос задан 31.08.2017 - 11:16
Аватар пользователя shu
shu
137

Ответы

0

Ревизии вообще не нужны, отбираем по полю language в ноде

Ответ дан 01.09.2017 - 09:17
Аватар пользователя pety
pety
-2

Поле language в ноде содержит только тот язык в котором создавался материал.

Комментарий оставлен 01.09.2017 - 09:46

К нему надо ещё использовать tnid и всё получится :)

Комментарий оставлен 01.09.2017 - 11:35

tnid это транслашн id , т.е. у материала родителя он совпадает :), а другие материалы переводы к нему, ссылаются на родителя. Исходя из этого делается простейший sql запрос для Ваших нужд.

Комментарий оставлен 04.09.2017 - 08:09