2016-09-10 6 views
2

Я пытаюсь создать экспорт REST в Drupal 8 из узла. На данный момент ответа JSON как это:Drupal 8 Headless - Поля группы в поле зрения

[{ 
"title": "test 2", 
"body": "<p>tets<\/p>", 
"created": "10-09-2016 15:57", 
"field_first_name": "John", 
"field_last_name": "Doe" 
}, { 
"title": "test", 
"body": "<p>test<\/p>" 
"created": "10-09-2016 15:56", 
"field_first_name": "John", 
"field_last_name": "Doe" 
}] 

Есть 2 поля, field_first_name и field_last_name, которые поле от пользователя, создавшего узел. Интересно, можно ли сгруппировать эти поля. Таким образом, реакция будет выглядеть как что-то вроде этого:

[{ 
"title": "test 2", 
"body": "<p>tets<\/p>", 
"created": "10-09-2016 15:57", 
"user": { 
    "field_first_name": "John", 
    "field_last_name": "Doe" 
} 
}] 

Так есть способ группы полей по сущности они от?

ответ

1

стиль по умолчанию для представления REST является Serializer, который поставляется с модулем отдыха как плагин (в ядре Drupal в /core/modules/rest).

Вы можете изменить вывод JSON вашего представления REST, создав плагин стиля вида в настраиваемом модуле, расширяя плагин от модуля останова. В методе render() вы можете написать свою собственную логику, чтобы изменить структуру вашего JSON.

Таким образом, чтобы сгруппировать поля по их сущности, вы можете получить пакет объектов в объектах, связанных с представлениями, и соответствующим образом перестроить ваш вывод.

REST API through views in Drupal 8 - how to modify serializer может дать вам больше информации по этому вопросу.

+0

Спасибо BaikHo, я загляну в него! – Nylsoo