RteViewHelper.php [Gelöst]

  • Jan.S Jan.S
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    09. 11. 2012, 16:47

    Hallo zusammen

    gibt es einen RteViewHelper für ein eigenes Backend Modul?
    Oder bin ich der erste der in seinem Backend Modul ein RTE braucht?

    Was ich gefunden habe ist dieser ViewHelper von in2code.
    [url=]http://www.in2code.de/community/snippet-datenbank/snippets/detail/rte-viewhelper/[/url]
    Dieser scheint aber nur für das Frontend zu funktionieren, weil ein $TSFE Objekt gebraucht wird.

    Weiter habe ich nichts brauchbares gefunden. :o

    Gruß Jan


  • 1
  • kainobi kainobi
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2012, 11:35

    Einen RteVH für´s Backend kenne ich leider nicht, aber vlt. kannst Du den von in2code einfach anpassen? Das TSFE Objekt wird ja "nur" für die Page Id benötigt (wozu genau weiss ich leider nicht), evt. kannst Du die im Backend auf einem anderen Weg auslesen. Oder auch weglassen? Keine Ahnung, würde einfach mal rumprobieren...

  • Jan.S Jan.S
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 08:39

    Hab es nicht hingekommen den Original RTE zu verwenden. Das TSFE wird leider nicht nur für die Page ID benötigt sondern stellt auch noch Funktionen zur Verfügung die vom RTE aufgerufen werden. Komisch das es hier im Internet noch keine Lösung gibt. :o

    Ich hab jetzt den tinymce RTE benutzt.

    Nachteil: Links können nicht mehr nach den gleiche Schema wie im Original RTE gesetzt werden.

    Wer auch den tinymce benutzten möchte der kann diesen hier runterladen:
    [url=]http://www.tinymce.com/[/url]

    Mein Backendmodul ist auf extbase aufgebaut.
    Ich habe für einen schnellen Workaround einfach ein Partial tinymce.html angelegt.
    In diesem Partial wird der JavaScript kram geladen.

    [b]tinymce.html[/b]

    1. <!-- Load jQuery -->
    2. <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    3. <script type="text/javascript">
    4. google.load("jquery", "1" );
    5.  
    6. <!-- Load TinyMCE -->
    7. <script type="text/javascript" src="/typo3conf/ext/DEINE_EXTENSION/Resources/Public/js/tiny_mce/jquery.tinymce.js"></script>
    8. <script type="text/javascript">
    9. $().ready(function() {
    10. $('textarea.tinymce').tinymce({
    11. // Location of TinyMCE script
    12. script_url : '/typo3conf/ext/DEINE_EXTENSION/Resources/Public/js/tiny_mce/tiny_mce.js',
    13.  
    14. // General options
    15. theme : "advanced",
    16. plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
    17.  
    18. // Theme options
    19. theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
    20. theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
    21. theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
    22. theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
    23. theme_advanced_toolbar_location : "top",
    24. theme_advanced_toolbar_align : "left",
    25. theme_advanced_statusbar_location : "bottom",
    26. theme_advanced_resizing : true,
    27.  
    28. // Example content CSS (should be your site CSS)
    29. content_css : "/typo3conf/ext/DEINE_EXTENSION/Resources/Public/css/tinymce.css",
    30.  
    31. // Drop lists for link/image/media/template dialogs
    32. template_external_list_url : "lists/template_list.js",
    33. external_link_list_url : "lists/link_list.js",
    34. external_image_list_url : "lists/image_list.js",
    35. media_external_list_url : "lists/media_list.js",
    36.  
    37. // Replace values for the template plugin
    38. template_replace_values : {
    39. username : "Some User",
    40. staffid : "991234"
    41. }
    42. });
    43. });
    44. <!-- /TinyMCE -->

    Die Stellen [DEINE_EXTENSION] müssen selbstverständlich noch ausgetauscht werden und das Javascript und CSS an die entsprechenden stellen kopiert werden.

    Wenn man dieses Partial hat, kann man es einfach einbinden wenn man den RTE braucht.

    1. <f:render partial="Aktuelles/Tinymce"/>

    Um tinymce auf ein Feld anzuwenden wird die Classe tinymce hinzuzufügen.

    Das sieht bei mir z.B. so aus:

    1. <f:form.textarea class="tinymce" property="content" cols="40" rows="15" />

    Das sollte es gewesen sein.

    Wenn jemand eine Möglichkeit findet den Originalen RTE einzubinden. Dann bitte bitte noch mal hier reinschreiben wie es geht. #paralyzed#

  • Jan.S Jan.S
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 10:52

    Eine noch bessere Lösung welche ich gefunden habe ist, die normale Datensatz bearbeiten Ansicht zu benutzten.

    Der Link dazu sieht ungefähr so aus.

    1. <a target="content" href="http://piper/typo3/alt_doc.php?&returnUrl=%2Ftypo3%2Fmod.php%3FM%3Dweb_DEINEEXTENSIONAktuelles%26id%3D43%26&edit[tx_DEINE_EXTENSION_domain_model_aktuelles][{aktuelles.uid}]=edit&defVals=&overrideVals=&columnsOnly=&returnNewPageId=&editRegularContentFromId=&disHelp=&noView=&SET[showPalettes]=on">Edit</a>

    Über den Parameter returnUrl springt man nach den Speichern auch wieder zurück auf die richtige Seite.

    Das ist in meine Fall die optimale Lösung. :p

  • 1