我試圖在寄存器中的zfcuser模塊中添加新的寄存器字段。我有問題BCS新領域中register.phtml
Zfcuser添加寄存器字段
不會呈現我該怎麼辦:
首先我在自定義模塊創建新User
實體和擴展\ZfcUser\Entity\User
,並添加新的特性protected $first_name
並把getter方法。
其次,我在config中更改user_entity_class' => 'MyModule\Entity\User
。
三,我創建自定義窗體類,其中我擴展\ZfcUser\Form\Register
其中我創建兩個方法__constructor($name,RegistrationOptionsInterface $options)
,第二init()
。這看起來是這樣的:
// 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不知道任何關於新領域。循環列表只是默認字段。如何以這種方式通知zfcuser模塊關於新領域?
register.phtml
<?php foreach ($form as $element): ?>
<?php echo $this->formInput($element) . $this->formElementErrors($element) ?>
<?php endforech; ?>