我使用 - > add('file','file')添加与ARTICLE相关联的IMAGE。它运作得很好。
但是我该如何从文章中删除图像。带有文件的表单只允许我添加或更改与文章关联的IMAGE。没有简单的选择说:删除图像。
我应该怎么做?
我更多地要求方法学而不是代码问题,谢谢你的帮助
代码
class ArticleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('image', new ImageType());
->add('removeimage', 'checkbox', array(
'label' => 'Remove the image?',
'mapped' => false,))
}
}
class ImageType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('file', 'file');
}
}
答案 0 :(得分:0)
如果您有时间设置文件上传,我建议您Handle File Uploads with Doctrine。我有一个使用本文所述实践的工作项目,它运行得非常好。
如果您想在表单中填写“删除”按钮,请按照以下简单步骤操作:
首先在表单构建器中添加以下行:
->add('save', 'submit', array('label' => 'Save')) // it's for saving article
->add('delete', 'submit', array('label' => 'Delete')) // it's for deleting file
然后在控制器中检查点击了哪个按钮:
if ($form->get('delete')->isClicked()) { // your code here }
代替您的代码写下类似的内容:
$article->getImage()->removeUpload();
$this->getDoctrine()->getManager()->flush();
就是这样!