上传头像
Upload profile picture
我想让我的用户更改他们的头像。我遵循了 Symfony2 文档,它正在工作。问题是,我不能使用 {{ form_widget(form.file) }}
调用我的表单,但我必须使用 {{ form_widget(form) }}
。这很烦人,因为我在 formBuilder
中还有其他值,我希望能够自定义我的树枝中的每个字段。
这是我的表单类型。
<?php
namespace L3O1\UserBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ProfilePictureFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// add your custom field
$builder->add('file', 'file', array(
'required'=>false))
/*->add('aboutMe', 'textarea', array(
'attr'=>array(
'rows'=>4,
'cols'=>50 ),
'required'=>false))*/
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'L3O1\UserBundle\Entity\User'
));
}
public function getName()
{
return 'l3o1_user_profile';
}
}
如果您在尝试执行 {{ form_widget(form.file) }}
时遇到任何错误,请与我们分享。
如果 {{ form_widget(form.file) }}
只是没有保存文件,那么您的问题一定是缺少令牌或缺少表单的 enctype:
<form id="someid" action="{{somepath}}" method="post" {{ form_enctype(form) }}>
{#your codes#}
{{ form_widget(form._token) }}
</form>
我想让我的用户更改他们的头像。我遵循了 Symfony2 文档,它正在工作。问题是,我不能使用 {{ form_widget(form.file) }}
调用我的表单,但我必须使用 {{ form_widget(form) }}
。这很烦人,因为我在 formBuilder
中还有其他值,我希望能够自定义我的树枝中的每个字段。
这是我的表单类型。
<?php
namespace L3O1\UserBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ProfilePictureFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// add your custom field
$builder->add('file', 'file', array(
'required'=>false))
/*->add('aboutMe', 'textarea', array(
'attr'=>array(
'rows'=>4,
'cols'=>50 ),
'required'=>false))*/
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'L3O1\UserBundle\Entity\User'
));
}
public function getName()
{
return 'l3o1_user_profile';
}
}
如果您在尝试执行 {{ form_widget(form.file) }}
时遇到任何错误,请与我们分享。
如果 {{ form_widget(form.file) }}
只是没有保存文件,那么您的问题一定是缺少令牌或缺少表单的 enctype:
<form id="someid" action="{{somepath}}" method="post" {{ form_enctype(form) }}>
{#your codes#}
{{ form_widget(form._token) }}
</form>