Я пытаюсь добавить новые регистровые поля в zfcuser moudle в регистр. У меня есть проблема BCS новых полей не отображается в register.phtml
Zfcuser add register fields
Что я делаю:
Сначала я создать новую User
сущности в моем пользовательском модуле и расширить \ZfcUser\Entity\User
и добавить новые свойства protected $first_name
и поставить геттер.
Во-вторых, я меняю user_entity_class' => 'MyModule\Entity\User
в конфигурации.
В-третьих, я создаю пользовательский класс формы, где я расширяю \ZfcUser\Form\Register
, где я создаю два метода __constructor($name,RegistrationOptionsInterface $options)
, второй init()
. THis выглядеть следующим образом:
// Module/src/Mymod/Form
class ClientRegisterForm extends \ZfcUser\Form\Register
{
public function __construct($name, RegistrationOptionsInterface $options)
{
parent::__construct($name, $options);
}
/**
* {@inheritDoc}
*/
public function init(){
$this->add(array(
'name' => 'first_name',
'options' => array(
'label' => 'First name',
),
'attributes' => array(
'type' => 'text'
),
));
}
И я зарегистрировать как sercice в модуле:
public function getServiceConfig()
{
return array(
'factories' => array(
'clientRegisterForm' => function($sm) {
$clientRegisterForm = new ClientRegisterForm(null, array());
return $clientRegisterForm;
}
)
);
}
Так проблема в том, BCS zfcuser DonT ничего не знают о новом поле. Список циклов только по умолчанию. Как уведомлять модуль zfcuser о новом поле таким образом?
register.phtml
<?php foreach ($form as $element): ?>
<?php echo $this->formInput($element) . $this->formElementErrors($element) ?>
<?php endforech; ?>