Sonata Media - Formatter - CKEditor: no save content in a file

146 views
Skip to first unread message

a.ber...@gmail.com

unread,
Sep 14, 2014, 12:37:13 PM9/14/14
to sonata...@googlegroups.com
Hi,

I was wondering if I was doing something wrong or it is just impossible to achieve.

I have running SonataAdmin + SonataMedia + SonataFormatter + CKEditor.

What I would like to achieve is to upload the inserted HTML content as a file to be handled on server-side as a MediaBundle\Entity\Media using sonata.media.provider.file.

I have seen that CKEditor has a 'Save' button, which is sending the whole form (not just the given field). Does it mean the bundle can do that or i need to develop it in the controller?


 /* Entity attributes */

    /**
    * @var Media $template
    *
    * @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"})
    * @ORM\JoinColumn(name="template_id", referencedColumnName="id")
    **/
   protected $template;

    /**
    * @var string $template
    *
    */
   protected $templateRaw;

    /**
    * @var string $ltemplate
    *
    */
   protected $templateFormatter;

    /**
    * @var string $templateContent
    *
    */
   protected $templateContent;


/* FORM FIELD DEFINITION : SONATA ADMIN MEDIA specifications */


->add('template', 'sonata_formatter_type', array(
                    'source_field'         => 'templateRaw',
                    'source_field_options' => array('attr' => array('class' => 'span10', 'rows' => 20)),
                    'format_field'         => 'templateFormatter',
                    'target_field'         => 'templateContent',
                    'ckeditor_context'     => 'default',
                    'listener'       => true,
                    'event_dispatcher'     => $formMapper->getFormBuilder()->getEventDispatcher()
                ))


/* CONFIGURATION : config.yml */

ivory_ck_editor:
    default_config: default
    configs:
        default:
            toolbar: "default"
            filebrowserBrowseRoute: admin_sonata_media_media_ckeditor_browser
            filebrowserImageBrowseRoute: admin_sonata_media_media_ckeditor_browser
            filebrowserImageBrowseRouteParameters:
                provider: sonata.media.provider.image
            filebrowserUploadRoute: admin_sonata_media_media_ckeditor_upload
            filebrowserUploadRouteParameters:
                provider: sonata.media.provider.file
            filebrowserImageUploadRoute: admin_sonata_media_media_ckeditor_upload
            filebrowserImageUploadRouteParameters:
                provider: sonata.media.provider.image
                context: default # Optional, to upload in a custom context
    toolbars:
        configs:
            default: [ "@document", "/", "@link" , "/", "@tool" ]
        items:
            document: [ "Source", "-", "Save", "-", "Templates" ]
            link:     [ "Anchor" ]
            tool:     [ "Maximize" ]

sonata_formatter:
    ckeditor:
        templates:
            browser: 'SonataFormatterBundle:Ckeditor:browser.html.twig'
            upload: 'SonataFormatterBundle:Ckeditor:upload.html.twig'
    formatters:
        richhtml:
            service: sonata.formatter.text.raw
            extensions:
                - sonata.formatter.twig.control_flow
                - sonata.formatter.twig.gist
                - sonata.media.formatter.twig



Reply all
Reply to author
Forward
0 new messages