Я хочу использовать функцию Layout-as-a-Service (LaaS) в DotCMS. Этот подход задокументирован в https://dotcms.com/blog/post/more-than-a-headless-cms-layout-as-a-service-in-dotcms, а также в https://github.com/fmontes/dotcms-page.
Обе статьи предполагают, что API страницы DotCMS должен возвращать поле с именем "layout" в ответе, например, на http://localhost: 8080 / api / v1 / page / json / test-page
test-page
- это страница, которая использует стандартный шаблон. Под стандартным шаблоном я подразумеваю шаблон, созданный с помощью «Дизайнера шаблонов», с боковой панелью 20% слева, одним столбцом шириной 100%, оба из которых содержат «Пустой контейнер».
Независимо от того, что я пробую, " поле "макет" никогда не является частью ответа. Все, что я получаю, это:
{
"errors": [],
"entity": {
"canCreateTemplate": true,
"containers": ...,
"numberContents": 2,
"page": ...,
"site": ...,
"template": ...,
"viewAs": ... },
"messages": [],
"i18nMessagesMap": {},
"permissions": []
}
Я попробовал DotCMS версии 5.2.0, а также 5.2.3. Возможно, это функция только для Enterprise Edition?
Редактировать: Что я ожидаю:
{
"errors": [],
"entity": {
"canCreateTemplate": true,
"containers": ...,
"layout": {
"width": "responsive",
"title": "mytemplate1",
"header": true,
"footer": true,
"body": {
"rows": [
{
"columns": [
{
"containers": [
{
"identifier": "b5ea1513-7653-4602-a729-97cd8dd099b6",
"uuid": "1582123997023"
}
],
"widthPercent": 100,
"leftOffset": 1,
"styleClass": null,
"preview": false,
"width": 12,
"left": 0
}
],
"styleClass": null
}
]
},
"sidebar": {
"containers": [
{
"identifier": "b5ea1513-7653-4602-a729-97cd8dd099b6",
"uuid": "1582123991866"
}
],
"location": "left",
"width": "small",
"widthPercent": 20,
"preview": false
}
}
...