我想创建自定义字段用户注册,登录和配置文件管理系统。
我有多个客户。每个客户都希望在“注册”表单中使用不同的字段 并且这些字段的选择完全取决于客户的选择,对于个人资料或登录页面,此行为将相同。
从昨天开始,我一直在搜索可以执行这些操作的库或捆绑软件。
有人对此有任何想法吗?
答案 0 :(得分:0)
我能想到的最好的解决方案是创建一个“抽象”实体,该实体将汇总给定客户端所需的所有字段。
/**
** @ORM\Entity()
*/
class RegistrationFormField {
// ...
/** @ORM\Column(type="string") **/
private $fieldName;
/** @ORM\Column(type="string") **/
private $fieldType;
/** @ORM\Column(type="boolean") **/
private $required;
/** @ORM\ManyToOne(targetEntity="App\Entity\Client") **/
private $client;
// ...
}
我将使用所有必填字段创建该实体,以便能够构建相应的注册表格:
$fields = $em->getRepository(RegistrationFormField::class)->findBy(['client' => $client]);
$form = $this->createFormBuilder();
foreach ($fields as $field) {
$form->add($field->getFieldName(), $field->getFieldType(), [
'required' => $field->getRequired()
]);
}