Получение нового поля с помощью службы CMS

Возникли проблемы с получением вновь созданных полей с помощью this.cmsservice.getcurrentpage ().

Я пытался расширить PageNormalizer, но безуспешно.

Любая идея или обходной путь.


person chilliReaper    schedule 08.02.2020    source источник
comment
Вы можете объяснить, где вы добавили настраиваемые поля? Было ли это на самой странице или на конкретном компоненте?   -  person tobi-or-not-tobi    schedule 09.02.2020
comment
на самой странице. полезная нагрузка выглядит примерно так .. ‹label› / testLabel ‹/label› ‹category› КАТЕГОРИЯ ИСПЫТАНИЙ ‹/category› ‹/page› должен ли я просто поместить ее на уровне компонентов?   -  person chilliReaper    schedule 09.02.2020


Ответы (2)


Решили эту проблему, расширив / переопределив CMS_PAGE_NORMALIZER. Добавлено новое поле под свойствами исходной структуры.

См. Ниже код:

export class pageNormalizer implements Converter<Occ.CMSPage, CmsStructureModel> {
  convert(source: any, target?: CmsStructureModel): CmsStructureModel {
    target.page.properties = {
      newfield: source.newfield,
    };
    return target;
  }
}
person chilliReaper    schedule 10.02.2020
comment
Хотите знать, расширяете ли вы модель CMS в бэкэнде и добавляете ли сопоставление полей в конфигурацию spring? - person tobi-or-not-tobi; 11.02.2020
comment
Он был добавлен в бэкэнд, что касается конфигурации spring, которую я должен проверить. Указанное выше исправление внезапно перестает работать. - person chilliReaper; 18.02.2020

Хотя я никогда не работал с витриной магазина spartacus, ваша проблема кажется похожей на другую, которую я видел здесь раньше.

Попробуйте это:

https://pipedrive.readme.io/docs/adding-a-new-custom-field

person Flixrunner    schedule 08.02.2020
comment
Спасибо за это! но кажется, что cmsservice отфильтровывает ответ .. и недавно добавленное поле в бэкэнде было пропущено. - person chilliReaper; 08.02.2020