SonataMediaBundle и PHPCR, документ не сохраняется правильно?

После попытки загрузить изображение я получаю следующее сообщение об ошибке:

An exception has been thrown during the rendering of a template ("Unable to retrieve the download security : ").

Эта ошибка возникает после "создания" по следующему URI:

/web/app_dev.php/en/admin/sonata/media/media/cms/media/58c1be25e1d27/edit?context=default&hide_context=0

Изображение загружается, обрезается и так далее, но я не думаю, что документ будет правильно сохранен в базе данных.

Вот мои конфигурации:

"sonata-project / media-bundle": "^ 3.5",

"doctrine / phpcr-odm": "^ 1.4",

"sonata-project / doctrine-phpcr-admin-bundle": "^2.0@dev",

config.yml

sonata_media:
    # if you don't use default namespace configuration
    class:
        media: Application\Sonata\MediaBundle\PHPCR\Media
        gallery: Application\Sonata\MediaBundle\PHPCR\Gallery
        gallery_has_media: Application\Sonata\MediaBundle\PHPCR\alleryHasMedia
    db_driver: doctrine_phpcr # or doctrine_mongodb, doctrine_phpcr it is mandatory to choose one here
    default_context: default # you need to set a context
    contexts:
        default:  # the default context is mandatory
            providers:
                - sonata.media.provider.dailymotion
                - sonata.media.provider.youtube
                - sonata.media.provider.image
                - sonata.media.provider.file
                - sonata.media.provider.vimeo

            formats:
                small: { width: 100 , quality: 70}
                big:   { width: 500 , quality: 70}

    cdn:
        server:
            path: /uploads/media # http://media.sonata-project.org/

    filesystem:
        local:
            directory:  "%kernel.root_dir%/../web/uploads/media"
            create:     false


doctrine_phpcr:
    # configure the PHPCR session
    session:
        backend:   '%phpcr_backend%'
        workspace: '%phpcr_workspace%'
        username:  '%phpcr_user%'
        password:  '%phpcr_pass%'
    odm:
        auto_mapping: true
        auto_generate_proxy_classes: '%kernel.debug%'
        locales:
            en: [de, fr]
            de: [en, fr]
            fr: [en, de]
        mappings:
            #SonataMediaBundle:
            #    prefix: Sonata\MediaBundle\PHPCR
            ApplicationSonataMediaBundle:
                prefix: Application\Sonata\MediaBundle\PHPCR

Initalizer

app.phpcr.initializer:
    class: Doctrine\Bundle\PHPCRBundle\Initializer\GenericInitializer
    arguments:
        - SonataMediaBundle
        - ["/cms/media"]
    tags:
        - { name: doctrine_phpcr.initializer }

И я использую автоматически сгенерированные PHPCR Documents & Configuration.

1 ответ

У меня та же проблема, но я использую Doctrine вместо PHPCR.

В моем случае я выбрал неправильный медиа-контекст в форме загрузки в Admin

Кажется, если вы выберете неправильный (не существующий) контекст, файл не будет редактироваться.

->add('media', 'sonata_type_model_list', array('required' => false), array(
                        'link_parameters' => array(
                            'context'  => 'Context name', // Important: You have to select the context name and not the context code!
                            'filter'   => array('category' => array('value' => 'Dummy category name')),
                            'provider' => 'sonata.media.provider.file',
                        )
                    ))
Другие вопросы по тегам