Ergebnis 1 bis 10 von 10

Thema: TinyMCE im Frontend nicht möglich

  1. #1
    Contao-Nutzer
    Registriert seit
    09.03.2012.
    Beiträge
    33

    Standard TinyMCE im Frontend nicht möglich

    Hallo Leute,

    ich hab die aktuelle Contao Version mit xtmembers und xtmembers_fieldeditor. Ich hab die Seite so gebaut das die User über das Frontend ihr Profil (Mitgliederseite) selbst ändern könne (Inhalt).
    Ich hab jetzt das Problem wenn ich eine Zusätzlichen Inhalt anlege, was eine Textarea mit TinyMCE zum bearbeiten sein sollte funktioniert das nicht. Die TinyMCE wird nicht angzeigt.
    Im Backend bei dem User bzw. Inhalt sehr wohl, der Fehler tritt nur im Frontend auf. Ebenso ist die Bearbeitung des vordefinierten Feldes "Beschreibung der Position" im Frontend mit TinyMCE nicht möglich. Ich hoffe ihr hab dazu eine Idee. Im Layout hab ich die Einstellung "tl_files/tinymce.css ignorieren" mit beiden Einstellungen getestet immer das selbe resultat.

    Danke

  2. #2
    Contao-Nutzer
    Registriert seit
    09.03.2012.
    Beiträge
    33

    Standard Zusatzinfo

    Bei der weiteren bearbeitung der Page ist mir aufgefallen, das auch bei der Erweiterung "calendar_editor" zur bearbeitung der Kalender einträge im Frontend die TinyMCE bei den Inhalt "Details" nicht angezeigt wird. Wenn ich als Editor bei dem Module zur "Event Editor" aber den "tinyFrontendMinimal" auswähle wird die bearbeitung angezeigt. Wähle ich als Editor den "TinyMCE" oder "TinyFlash" aus, wird einfach eine Normal Textarea angezeigt wo der Text in <p> TEXT </p> steht.
    Die "TinyFrontendMinimal habe ich aber bei dem Modul zur bearbeitung bei dem Persönlichen Profil nicht. Ich hoffe es hat jemand eine Idee zu dem Problem.
    Der Container wo die Bearbeitung Aktiv hat hast folgende eigenschaften:
    Code:
    <td class="value">
    <textarea id="ctrl_details" class="textarea" cols="80" rows="12" name="details">Nur ein Test einTrag</textarea>
    </td>
    Im Header werden die drei JS geladen:
    Code1:
    Code:
    <script src="plugins/tinyMCE/tiny_mce_gzip.js">
    var tinyMCE_GZ = {
    settings : {
    themes : '',
    plugins : '',
    languages : '',
    disk_cache : true,
    page_name : 'tiny_mce_gzip.php',
    debug : false,
    suffix : ''
    },
    init : function(s, cb, sc) {
    var t = this, n, i, nl = document.getElementsByTagName('script');
    for (n in s)
    t.settings[n] = s[n];
    s = t.settings;
    if (window.tinyMCEPreInit) {
    t.baseURL = tinyMCEPreInit.base;
    } else {
    for (i=0; i<nl.length; i++) {
    n = nl[i];
    if (n.src && n.src.indexOf('tiny_mce') != -1)
    t.baseURL = n.src.substring(0, n.src.lastIndexOf('/'));
    }
    }
    if (!t.coreLoaded)
    t.loadScripts(1, s.themes, s.plugins, s.languages, cb, sc);
    },
    loadScripts : function(co, th, pl, la, cb, sc) {
    var t = this, x, w = window, q, c = 0, ti, s = t.settings;
    function get(s) {
    x = 0;
    try {
    x = new ActiveXObject(s);
    } catch (s) {
    }
    return x;
    };
    // Build query string
    q = 'js=true&diskcache=' + (s.disk_cache ? 'true' : 'false') + '&core=' + (co ? 'true' : 'false') + '&suffix=' + escape(s.suffix) + '&themes=' + escape(th) + '&plugins=' + escape(pl) + '&languages=' + escape(la);
    if (co)
    t.coreLoaded = 1;
    // Send request
    x = w.XMLHttpRequest ? new XMLHttpRequest() : get('Msxml2.XMLHTTP') || get('Microsoft.XMLHTTP');
    x.overrideMimeType && x.overrideMimeType('text/javascript');
    x.open('GET', t.baseURL + '/' + s.page_name + '?' + q, !!cb);
    // x.setRequestHeader('Content-Type', 'text/javascript');
    x.send('');
    // Handle asyncronous loading
    if (cb) {
    // Wait for response
    ti = w.setInterval(function() {
    if (x.readyState == 4 || c++ > 10000) {
    w.clearInterval(ti);
    if (c < 10000 && x.status == 200) {
    t.loaded = 1;
    t.eval(x.responseText);
    tinymce.dom.Event.domLoaded = true;
    cb.call(sc || t, x);
    }
    ti = x = null;
    }
    }, 10);
    } else
    t.eval(x.responseText);
    },
    start : function() {
    var t = this, each = tinymce.each, s = t.settings, ln = s.languages.split(',');
    tinymce.suffix = s.suffix;
    function load(u) {
    tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(u));
    };
    // Add core languages
    each(ln, function(c) {
    if (c)
    load('langs/' + c + '.js');
    });
    // Add themes with languages
    each(s.themes.split(','), function(n) {
    if (n) {
    load('themes/' + n + '/editor_template' + s.suffix + '.js');
    each (ln, function(c) {
    if (c)
    load('themes/' + n + '/langs/' + c + '.js');
    });
    }
    });
    // Add plugins with languages
    each(s.plugins.split(','), function(n) {
    if (n) {
    load('plugins/' + n + '/editor_plugin' + s.suffix + '.js');
    each(ln, function(c) {
    if (c)
    load('plugins/' + n + '/langs/' + c + '.js');
    });
    }
    });
    },
    end : function() {
    },
    eval : function(co) {
    var se = document.createElement('script');
    // Create script
    se.type = 'text/javascript';
    se.text = co;
    // Add it to evaluate it and remove it
    (document.getElementsByTagName('head')[0] || document.documentElement).appendChild(se);
    se.parentNode.removeChild(se);
    }
    };
    </script>
    Code2:
    Code:
    <script>
    tinyMCE_GZ.init({
    plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,template,typolinks,xhtmlxtras",
    themes : "advanced",
    languages : "de",
    disk_cache : false,
    debug : false
    });
    </script>
    Code3:
    Code:
    <script>
    tinyMCE.init({
    mode : "none",
    height : "300",
    language : "de",
    elements : "ctrl_details",
    remove_linebreaks : false,
    force_hex_style_colors : true,
    fix_list_elements : true,
    fix_table_elements : true,
    doctype : '<!DOCTYPE html>',
    element_format : 'html',
    document_base_url : "",
    entities : "160,nbsp,60,lt,62,gt,173,shy",
    cleanup_on_startup : true,
    save_enablewhendirty : true,
    save_on_tinymce_forms : true,
    init_instance_callback : "TinyCallback.getScrollOffset",
    advimage_update_dimensions_onchange : false,
    external_image_list_url : "/Contao2/plugins/tinyMCE/plugins/typolinks/typoimages.php",
    template_external_list_url : "/Contao2/plugins/tinyMCE/plugins/typolinks/typotemplates.php",
    plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,template,typolinks,xhtmlxtras",
    spellchecker_languages : "+Deutsch=de,Englisch=en",
    content_css : "/Contao2/system/themes/tinymce.css,/Contao2//tinymce.css",
    event_elements : "a,div,h1,h2,h3,h4,h5,h6,img,p,span",
    extended_valid_elements : "q[cite|class|title],article,section,hgroup,figure,figcaption",
    tabfocus_elements : ":prev,:next",
    theme : "advanced",
    theme_advanced_resizing : true,
    theme_advanced_resize_horizontal : false,
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_source_editor_width : "700",
    theme_advanced_blockformats : "div,p,address,pre,h1,h2,h3,h4,h5,h6",
    theme_advanced_buttons1 : "newdocument,save,separator,spellchecker,separator,anchor,separator,typolinks,unlink,separator,image,typobox,separator,sub,sup,separator,abbr,separator,styleprops,attribs,separator,search,replace,separator,undo,redo,separator,removeformat,cleanup,separator,code",
    theme_advanced_buttons2 : "formatselect,fontsizeselect,styleselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,indent,outdent,separator,blockquote,separator,forecolor,backcolor",
    theme_advanced_buttons3 : "tablecontrols,separator,template,separator,charmap,emotions,separator,help",
    theme_advanced_font_sizes : "9px,10px,11px,12px,13px,14px,15px,16px,17px,18px,19px,20px,21px,22px,23px,24px"
    });
    </script>

  3. #3
    Contao-Nutzer
    Registriert seit
    09.03.2012.
    Beiträge
    33

    Standard

    Hat zu dem Problem niemand eine Idee, bzw. die Bearbeitung von Textarea's im Frontend mit TinyMCE muss doch möglich sein, oder liege ich da falsch?

    lg
    Martin

  4. #4
    Contao-Nutzer
    Registriert seit
    08.03.2012.
    Beiträge
    127

    Standard

    Hallo Martin,

    ein ähnliches Problem hatte ich auch,
    ein anderer User(weiss den Namen leider nicht mehr) hier aus dem Forum
    hat folgenden Code zur Verfügung gestellt, der auch bei mir ein funktionierendes tinyMCE gebracht hat :-)
    -
    Edit: Das ganze muss in der TinyFrontend.php stehen

    PHP-Code:

    <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');

    /**
     * The Catalog extension allows the creation of multiple catalogs of custom items,
     * each with its own unique set of selectable field types, with field extendability.
     * The Front-End modules allow you to build powerful listing and filtering of the
     * data in each catalog.
     *
     * PHP version 5
     * @copyright   CyberSpectrum and others, see CONTRIBUTORS
     * @author              Christian Schiffler <c.schiffler@cyberspectrum.de> and others, see CONTRIBUTORS
     * @package             Catalog
     * @license             LGPL
     * @filesource
     */

    /**
     * This is the tinyMCE (rich text editor) configuration file. Please visit
     * http://tinymce.moxiecode.com for more information.
     */
    if ($GLOBALS['TL_CONFIG']['useRTE']): ?>
    <script src="<?php echo $this->base?>plugins/tinyMCE/tiny_mce_gzip.js"></script>
    <script>
    tinyMCE_GZ.init({
      plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,template,xhtmlxtras",
      themes : "advanced",
      languages : "<?php echo $this->language?>",
      disk_cache : false,
      debug : false
    });
    </script>
    <script>
    tinyMCE.init({
      mode : 'exact',
    //  mode : "none",
      height : "300",
      language : "<?php echo $this->language?>",
      elements : "<?php echo $this->rteFields?>",
      remove_linebreaks : false,
      force_hex_style_colors : true,
      fix_list_elements : true,
      fix_table_elements : true,
      doctype : '<!DOCTYPE html>',
      element_format : 'html',
      document_base_url : "<?php echo $this->base?>",
      entities : "160,nbsp,60,lt,62,gt,173,shy",
      cleanup_on_startup : true,
      save_enablewhendirty : true,
      save_on_tinymce_forms : true,
      advimage_update_dimensions_onchange : false,
      plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,xhtmlxtras",
      spellchecker_languages : "<?php echo $this->getSpellcheckerString(); ?>",
      event_elements : "a,div,h1,h2,h3,h4,h5,h6,img,p,span",
      extended_valid_elements : "q[cite|class|title],article,section,hgroup,figure,figcaption",
      tabfocus_elements : ":prev,:next",
      theme : "advanced",
      theme_advanced_resizing : true,
      theme_advanced_resize_horizontal : false,
      theme_advanced_toolbar_location : "top",
      theme_advanced_toolbar_align : "left",
      theme_advanced_statusbar_location : "bottom",
      theme_advanced_source_editor_width : "700",
      theme_advanced_blockformats : "div,p,address,pre,h1,h2,h3,h4,h5,h6",
      theme_advanced_buttons1 : "newdocument,save,separator,spellchecker,separator,anchor,separator,link,unlink,separator,image,typobox,separator,sub,sup,separator,abbr,separator,styleprops,attribs,separator,search,replace,separator,undo,redo,separator,removeformat,cleanup,separator,code",
      theme_advanced_buttons2 : "formatselect,fontsizeselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,indent,outdent,separator,blockquote,separator,forecolor,backcolor",
      theme_advanced_buttons3 : "tablecontrols,separator,charmap,emotions,separator,help",
      theme_advanced_font_sizes : "9px,10px,11px,12px,13px,14px,15px,16px,17px,18px,19px,20px,21px,22px,23px,24px"
    });
    </script>
    <?php endif; ?>
    Geändert von mavnet (11.03.2012 um 22:25 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    09.03.2012.
    Beiträge
    33

    Standard

    Hallo Danke für die Info. Die TinyFrontend.php kann ich aber dan leider beim anlegen von den zusätzlichen Feldern nicht auswählen.
    Bezüglich der Kalenderbearbeitung funktioniert die angeführte TinyFrontend.php bzw. zum testen wurde die Originale Datei angepasst und siehe da, Calender Einträge können im Frontend mit TinyMCE bearbeitet werden.
    Zu dem zweiten Problem, Persönliche Daten bei einem hinzugefügt Feld "Meine bisherigen Erfolge" als Textarea hat die id "ctrl_xt_erfolge", hat das bearbeiten der "system\modules\xtmembers\TinyMCEPatcher.php" wie folgt geholfen. TinyMCE wird jetzt in der Textarea angezeigt, allerdings dürfte das ganze nicht Updatesicher sein (leider). Hat dazu noch jemand eine Idee?
    Hier die anpassung der TinyMCEPatcher.php
    Code:
    "$tpl->rteFields = "ctrl_text,ctrl_xt_erfolge";"

  6. #6
    Contao-Nutzer Avatar von sebi
    Registriert seit
    17.03.2012.
    Ort
    Kiel
    Beiträge
    154

    Standard

    Hey,

    ich hatte bis eben das selbe Problem, wurde dann aber dadurch behoben, dass ich xtmembers zusätzlich isntalliert habe, obwohl ich kein Feld dieser Erweiterung benutze. Jetzt funktioniert es im FE und BE, also alles wie gewollt.

    Vielleicht hilft dir das weiter.
    Gruß,
    Sebi

  7. #7
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Gesicht zeigt die Zunge Auch kein tinyMCE bei calendar_editor

    Hallo zusammen

    Ich habe genau das gleiche Problem: Contao 2.11.11 aufgesetzt, Erweiterung calendar_editor installiert, Modul eingefügt (tinyFrontendMinimal ist ausgewählt). Im FE wird mir der entsprechende JS-Code für tinyMCE geladen. Der Editor erscheint aber nicht im Textfeld.

    Hat jemand eine Lösung dafür? Wäre wirklich sehr sehr froh, wenn das mit dem Editor funktionieren würde.

    Vielen Dank und Gruss
    Marco

  8. #8
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    HTML Gelöst: Problem lag an der tinyMCE Version

    Hallo zusammen

    Problem ist gelöst. Das Problem war, dass die tinyMCE Version von Contao 2.11.11 für die Erweiterung calendar_editor zu neu war. Habe dann den Ordner plugins/tinyMCE von Contao 2.10.4 eingefügt. Jetzt geht's...

    LG
    Marco

    Edit: tinyMCE aus 2.11.8 geht auch noch! Mit der Version aus 2.10.4 gibt es Probleme im BE und dann auch im FE.
    Geändert von marcos (24.05.2013 um 07:46 Uhr)

  9. #9
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Würde das ebenfalls für die Textareas gelten?

    danke schonmal


    mark

  10. #10
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Mh, ich habs irgendwie nicht begriffen ... was muss ich tun, damit ich den Tiny auch im Contao 2.11.11 über das
    Frontend nutzen kann?


    Danke schonmal


    Mark

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •