Extbase mapOnProperty со встроенным полем

У меня есть расширение с моделью extbase, которое я хочу расширить. Прекрасно работает для всех полей, кроме встроенного. Когда я отображаю это встроенное поле, я не получаю все дочерние элементы, а только один дочерний элемент со счетчиком в качестве uid.

Пример: встроенное поле "description" имеет трех детей (uid = 17, uid = 18, uid = 19), поэтому поле tx_firstextension_domain_model_job.description содержит число 3. Во внешнем интерфейсе у меня есть ObjectStorage, содержащий ровно одну модель Description (uid = 3)

Вот мой TypoScript:

config.tx_extbase {
  objects.Foo\FirstExtension\Domain\Model\Job.className = Bar\SecondExtension\Domain\Model\Job
  persistence.classes.Bar\SecondExtension\Domain\Model\Job.mapping {
    table = tx_firstextension_domain_model_job
    columns {
      description.mapOnProperty = description
      anyotherfield.mapOnProperty = anyotherfield
      onemorefield.mapOnProperty = onemorefield
    }
  }
}

РЕШЕНИЕ

Моя проблема была в неправильной конфигурации. Правильным является tableName, но я использовал table. Вот исправленный - конец, еще более простой - фрагмент:

config.tx_extbase {
  objects.Foo\FirstExtension\Domain\Model\Job.className = Bar\SecondExtension\Domain\Model\Job
  persistence.classes.Bar\SecondExtension\Domain\Model\Job.mapping {
    tableName = tx_firstextension_domain_model_job
  }
}

1 ответ

Кажется, в вашей конфигурации Job-Models есть неправильная конфигурация. Пожалуйста, проверьте следующее:

  1. Внутри модели (Job.php) описание свойства сконфигурировано как ObjectStorage (включая правильно функции getter и setter + аннотации), а свойство создается как ObjectStorage в функции __construct?

  2. Правильно ли настроено поле как тип "inline" в файле конфигурации TCA Configuration/TCA/tx_secondextension_domain_model_job.php

Возможно, вам придется расширить TCA первого расширения, чтобы встроенная работа выполнялась при расширении других расширений. Тогда вам, возможно, придется добавить описание поля в Configuration/TCA/Overrides/tx_firstextension_domain_model_job.php, но я не уверен, действительно ли это необходимо...

Другие вопросы по тегам