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 есть неправильная конфигурация. Пожалуйста, проверьте следующее:
Внутри модели (Job.php) описание свойства сконфигурировано как ObjectStorage (включая правильно функции getter и setter + аннотации), а свойство создается как ObjectStorage в функции __construct?
Правильно ли настроено поле как тип "inline" в файле конфигурации TCA Configuration/TCA/tx_secondextension_domain_model_job.php
Возможно, вам придется расширить TCA первого расширения, чтобы встроенная работа выполнялась при расширении других расширений. Тогда вам, возможно, придется добавить описание поля в Configuration/TCA/Overrides/tx_firstextension_domain_model_job.php, но я не уверен, действительно ли это необходимо...