将 TinyMCE 插件添加到 symfony 控制器

Adding TinyMCE plugins to symfony controllers

我在博客的登陆页面和时事通讯经理工作。我们将 symfony 与 tinymce bundle(stfalcon) 一起用于所见即所得编辑器。

客户希望将模板设计器(或使用 Mailchimp 创建)的登录页面或时事通讯的完整结构直接复制粘贴到 TinyMce 中,因此根据文档,我应该添加 fullpage symfony 配置中的插件。

问题是我们想保留我们为博客设计的布局,并只保留整页插件在登陆控制器或新闻稿控制器中处于活动状态。

我找到了这个 tutorial,但它是针对 symfony 1.4 的,我们实际上在 2.8 中工作(是的,我知道我们应该更新到 3.4,但它是遗留代码)

有什么方法可以在渲染表单时加载 Tinymce 插件?

我终于找到了答案(我离开这里是为了文档),

您可以在 Symfony config.yml 中创建任意数量的主题,因此首先复制所需的主题并添加您需要的插件:

advanced:
            convert_urls: false
            file_browser_callback:  'elFinderBrowser'
            plugins:
                - "advlist autolink lists link image charmap print preview hr anchor pagebreak"
                - "searchreplace wordcount visualblocks visualchars code fullscreen"
                - "insertdatetime media nonbreaking save table contextmenu directionality"
                - "emoticons template paste textcolor"
            toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media | forecolor backcolor | stfalcon | example"
            image_advtab: true
            templates: "/admin/newsletter/templates/templatelist"
            entity_encoding : "raw"

    fullpage:
        convert_urls: false
        file_browser_callback:  'elFinderBrowser'
        plugins:
            - "advlist autolink lists link image charmap print preview hr anchor pagebreak"
            - "searchreplace wordcount visualblocks visualchars code fullscreen fullpage"
            - "insertdatetime media nonbreaking save table contextmenu directionality"
            - "emoticons template paste textcolor"
        toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media | forecolor backcolor | stfalcon | example"
        image_advtab: true
        templates: "/admin/newsletter/templates/templatelist"
        entity_encoding : "raw"`

之后,在控制器中,将您正在渲染 tinymce 的主题更改为:

->add('content', 'textarea', [
                'label'             => 'Contenido',
                'required'          => false,
                'attr'              => ['class' => 'tinymce', 'data-theme' => 'fullpage']