2013-09-30 117 views
0

嗯......一切都在標題中,在這裏我是因爲關於這個主題的文檔不存在真的......所以我希望一些忍者開發者能夠給我一些技巧...如何將PunkAveFileUploaderBundle添加到奏鳴曲管理軟件包

我正在研究我的個人投資組合(Symfony 2.3),自從幾個星期以來我有一個問題。我使用了奏鳴曲管理軟件包來創建我的管理面板,並且有很多麻煩來修復管理員中不同的文件上傳。爲此,我想知道如何使用PunkAveFileUploaderBundle.但老實說,我不知道如何正確實施它。我想我必須編輯一些奏鳴曲管理文件,但在這裏再次...哪些?我正在閱讀這些文件,並且已經對哪些內容進行了調整但不確定。通過閱讀和追蹤奏鳴曲管理員文檔(sonata doc)我從未成功過..不知道我爲什麼實際上追隨它一步一步..

那麼,如果有人對你有怎樣實現與奏鳴曲管理員捆束PunkAveFileUpload一個想法,讓我知道你的祕訣,甚至更好,一個小例子

PS :不需要鏈接到文檔,謝謝。

回答

0

可能是你可以看到這篇文章關於getting Gedmo Uploadable working with Sonata Admin

我認爲你必須要通過punk_ave.file_uploader服務在您的管理類:

acme.admin.demo: 
    class: Acme\DemoBundle\Admin\DemoAdmin 
    arguments: [~, Acme\DemoBundle\Entity\Demo, SonataAdminBundle:CRUD, @punk_ave.file_uploader] 
    tags: 
     - {name: sonata.admin, manager_type: orm, group: demo, label: demo} 
    calls: 
     - [ setTranslationDomain, [SonataAdminBundle]] 

,改變你的DemoAdmin類來管理上傳:

class DemoAdmin extends Admin 
{ 
    /** 
    * File uploader 
    */ 
    private $fileUploader = null; 

    /** 
    * Constructor 
    */ 
    public function __construct($code, $class, $baseControllerName, $fileUploader = null) 
    { 
     parent::__construct($code, $class, $baseControllerName); 
     $this->fileUploader = $fileUploader; 
    } 

    // ... 

    public function prePersist($object) 
    { 
     $this->manageUploads($object); 
    } 

    public function preUpdate($object) 
    { 
     $this->manageUploads($object); 
    } 

    /** 
    * Mannger uploads 
    * @param Demo $object 
    */ 
    private function manageUploads($object) 
    { 
     if ($object->getId()->getFile()) { 
      $this->fileUploader->syncFiles(...); 
     } 
    } 
} 

我真的不知道這是否會工作,但這就是我試圖讓它工作的方式...

+0

是的,我試圖按照你分享的鏈接......但我不確定「教程」的結束......我得到一個錯誤「調用成員函數get()on一個非對象「..它引用這一行:$ uploadableManager = $ this-> container-> get('stof_doctrine_extensions.uploadable.manager');任何想法?我的services.yml看起來不錯,數據庫也是.. – daneczech

相關問題