सोनाटा एडमिन में, मैं sonata_type_collection में अपलोड और पूर्वावलोकन तस्वीर फ़ाइल का उपयोग करना चाहता हूं।सोनाटाएडमिनबंडल sonata_type_collection के साथ और छवि अपलोड करें
मेरी व्यवस्थापक/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()
;
}
मेरे व्यवस्थापक/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" एक नए प्रकार मैं एक साधारण टेम्पलेट टहनी के साथ बनाया है तस्वीर दिखाने के लिए।
पूर्वावलोकन: http://i.stack.imgur.com/AC0ih.png
अंक 1: मैं दो दो विभिन्न साथ डेटाबेस में दर्ज चित्रों फ़ाइलें चित्र है, लेकिन सूची में, यह पहली ही प्रदर्शित करता है।
समस्या 2: चित्र को अपडेट करना संभव नहीं है ... मुझे रिकॉर्ड को हटाना होगा और फिर एक नई फ़ाइल अपलोड करनी होगी।
समस्या 2: आप 'ItemPictureAdmin' में एक' preUpdate' विधि बनाना चाहिए? यहां एक उदाहरण दिया गया है: [सिम्फनी 2, सोनाटा एडमिन बंडल और फ़ाइल अपलोड] (http://blog.code4hire.com/2011/08/symfony2-sonata-admin-bundle-and-file-uploads/) – AndreaS
पहले मुद्दे के लिए , यह सोनाटा में एक बग अभी तक तय नहीं है, कि एम्बेडेड व्यवस्थापक में '$ this-> getSubject()' हमेशा संबंध से पहली वस्तु प्राप्त करता है। इसके लिए एक अस्थायी समाधान है। इसे देखें: http://stackoverflow.com/questions/18106502/how-to-get-child-object-in-embedded-admin-class-in-sonata-admin/22815329#22815329 – hombee