2017-12-05 18 views
0

für mein Projekt verwende ich FileManagerBundle von artgris. Und ich möchte die Fenster in meinem view.twig implementieren, aber ich weiß nicht, wo ich myFileBrowser() erstellen muss.Implementieren Sie FileMangerBundle (artgris) mit TinyMCE mit Symfony3

Das ist mein twig.html ist:

{% 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 %} 

Dies ist der Link zum doc, wenn Sie eine Idee haben, danke!

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

Ho ja, kann ich auf

Antwort

1

Sie init Ihre tinymce mit Wähler auf mywebsite.com/manager/?conf=default: '#mytextarea', aber Ihre HTML nicht diese ID enthalten, Sie sollte zuerst ID auf Textarea hinzufügen:

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

über myFileBrowser-Funktion, es ist an der richtigen Stelle.

+0

Ok danke, aber ein jetzt haben einen „großen“ Textarea, wie CKEditor, aber ich habe nicht die Dateimanager-Schnittstelle, wie wenn winzig, als ob er Priorität hatte. – Verdouze

+0

Wenn Sie das Interface filemanager selbst haben wollen, können Sie einfach einen iframe '