如何将 PunkAveFileUploaderBundle 添加到 sonata admin bundle



嗯...一切都在标题中,我在这里是因为关于这个主题的文档实际上并不存在。所以我希望一些忍者开发人员能够给我一些提示......

我正在研究我的个人作品集(Symfony 2.3(,从几周开始我就遇到了问题。我使用Sonata管理捆绑包来创建我的管理面板,并且在修复管理员中的不同文件上传时遇到了很多麻烦。为此,我想使用PunkAveFileUploaderBundle。但老实说,我不知道如何正确实现它。我想我必须编辑一些奏鸣曲管理文件,但又在这里......哪些?我正在阅读文件,并且已经很好地知道要调整哪些文件,但根本不确定。通过阅读和遵循奏鸣曲管理员(奏鸣曲文档(的文档,我从未成功过。不知道为什么我居然要一步一步地跟着它。.

好吧,如果你们中的任何人知道如何使用奏鸣曲管理包实现 PunkAveFileUpload 捆绑包,请让我知道您的提示,甚至更好,一个小例子......

PS:不需要文档链接,谢谢。

也许你可以阅读这篇关于让 Gedmo Uploadable 与 Sonata 管理员一起工作的文章

我认为您必须在管理员类中传递punk_ave.file_uploader服务:

acme.admin.demo:
    class: AcmeDemoBundleAdminDemoAdmin
    arguments: [~, AcmeDemoBundleEntityDemo, 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(...);
        }
    }
}

我真的不知道这是否有效,但这就是我会尝试让它工作的方式......

相关内容

  • 没有找到相关文章

最新更新