Sonata Admin で、sonata_type_collection のアップロードとプレビューの画像ファイルを使用したいと考えています。
私の Admin/ItemAdmin.php で:
class ItemAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('title')
->with('Photos')
->add('pictures', 'sonata_type_collection', array(
'label' => 'Pictures',
'by_reference' => false,
'required' => false,
), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'id'
))
->end()
;
}
私の Admin/ItemPictureAdmin.php で:
class ItemPictureAdmin extends Admin {
protected function configureFormFields(FormMapper $formMapper) {
$obj = $this->getSubject();
$formBuilder = $formMapper->getFormBuilder();
if(is_object($obj) && $obj->getPicture())
{
$formMapper
->add('picturePreview', 'image_preview', array(
'required' => false,
'property_path' => false,
'upload_dir' => '/uploads/picture/',
'file_name' => $obj->getPicture()
));
}
$formMapper->add('pictureFile', 'file', array('label' => 'Pic'));
}
タイプ「image_preview」は、写真を表示するための単純なテンプレート twig を使用して作成した新しいタイプです。
プレビュー: http://i.stack.imgur.com/AC0ih.png
問題 1 : 2 つの異なる画像ファイルを含むデータベースに 2 つの画像が記録されていますが、リストには最初の画像のみが表示されます。
問題 2 : 写真を更新できません... レコードを削除して、新しいファイルを再度アップロードする必要があります。