Работаю над опросом с показом разных типов полей для ответов и возможностью редактирования в будущем (клиентом). Все поля будут вызываться для показа по ключу.
Возникла проблема с моделями и генерацией формы.
Что в мадженте?
В ней используются модели, репозитории, регистры и интерфейсы для обеспечения работы с объектами. Если нужно связать компоненты, клиенты и адреса, к примеру, то в модели клиента добавляются методы для работы с адресами.
Как происходит обычно?
Для формы достаточно блока с зависимостями от репозитория и самой формы; на целевой странице сохранение данных.
Что уже есть?
Для опроса создал базовые модели, для самого survey еще и "обвес" в виде интерфейса, репозитория и регистра.
Пытаюсь понять как нужно скомбинировать вопросы + ответы + результаты.
Нужно ли писать "обвес" для всех компонетов (survey, survey-answ, survey-quest, surv-res) опроса?
Как скомбинировать вопросы и ответы и сохраненные ответы? Может нужен специальный helper или достаточно специальных методов в моделях типа getResultAnswer($questId, $customerId).
Хотелось бы сделать так:
<?php
$question = $block->getQuestion('identifier');
$questionText = $question->getQuestion();
$questionAnswers = $question->?
$questionFieldType = $question->getFieldType();
echo $questionText;
...
print select | radio | checkbox
?>
В общем, направьте на путь истинный.
Надеюсь что после многих переписываний вопроса он стал понятнее :)