javascript - 使用 TinyMCE 和 Symfony3 实现 FileMangerBundle (artgris)

标签 javascript symfony tinymce

对于我的项目,我使用 artgris 的 FileManagerBundle。我想在我的 view.twig 中实现窗口,但我不知道需要在哪里创建 myFileBrowser()。

这是我的 twig.html :

{% extends 'CoreBundle:Base:base.html.twig' %}


{% block title %}TEST DOWNLOAD{% endblock %}

{% block body %}
    <div class="row">
        <div class="col-md-12 box-blanche-ombre">
            <div class="row boutontitre">
                <div class="col-md-6"> 
                    <h1>TEST DOWNLOAD</h1>
                </div>
            </div>
            {% for type in ['primary','success', 'info', 'warning','danger'] %}
                {% for message in app.session.flashbag.get(type) %}
                    <p class="message bg-{{ type }}">{{ message|raw }}</p>
                {% endfor %}
            {% endfor %}
            <form method="post" action="dump.php">
                <textarea name="content"></textarea>
            </form>
        </div>
    </div>
{% endblock %}
{% block javascripts %}
    {{ parent() }}
    <script type="text/javascript">
        var BaseURL = "{{ app.request.getBaseURL() }}";
    </script>
    <script src="{{ asset('Bootstrap-Confirmation-master/bootstrap-confirmation.js') }}"></script>
    <script src="{{ asset('bootstrap-datepicker/js/bootstrap-datepicker.min.js') }}"></script>
    <script src="{{ asset('bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js') }}"></script>
     <script type="text/javascript">
        tinymce.init({
            selector: '#mytextarea',
            file_browser_callback: myFileBrowser,
            theme: 'modern',
            height: 300,
            plugins: [
                'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
                'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking',
                'save table contextmenu directionality emoticons template paste textcolor'
            ],
            toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons'
        });

        function myFileBrowser(field_name, url, type, win) {

        var cmsURL = "{{ path('file_manager', {module:'tiny', conf:'tiny'}) }}";
        if (cmsURL.indexOf("?") < 0) {
            cmsURL = cmsURL + "?type=" + type;
        }
        else {
            cmsURL = cmsURL + "&type=" + type;
        }

        tinyMCE.activeEditor.windowManager.open({
            file: cmsURL,
            title: 'File Manager',
            width: 1024,
            height: 500
        }, {
            window: win,
            input: field_name
        });
        return false;
    }
    </script>
{% endblock %}

这是文档的链接,如果您有想法,谢谢!

https://github.com/artgris/FileManagerBundle/blob/master/Resources/doc/tutorials/integrate-tinymce.md

哦,是的,我可以访问 mywebsite.com/manager/?conf=default

最佳答案

您使用选择器初始化tinymce:'#mytextarea',但您的html不包含此id,您应该首先在textarea上添加id:

<textarea name="content" id="mytextarea"></textarea>

关于myFileBrowser函数,它在正确的位置。

关于javascript - 使用 TinyMCE 和 Symfony3 实现 FileMangerBundle (artgris),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47649073/

相关文章:

javascript - f :ajax causes model to not getting updated 上的事件

javascript - Ag-Grid 外部过滤不响应状态变化

javascript - onmouseenter/onmouseleave 在 JavaScript 库中

php - Symfony2 Profiler 数据库面板中的空结果

ruby-on-rails - Rails 3 上的任何 Assets 管理器?

javascript - html 破坏了 $.parse.JSON

javascript - 如何向 Google map 添加用户位置标记?

javascript - 使用给定值检查单选按钮的值

php - 如何在 Symfony 3 中创建将显示在标题中每个子页面上的表单

Symfony -- Twig 的反式过滤器未获取语言环境