ilch Forum » Ilch Clan 1.1 » Allgemein » ckeditor für Forumspost

Geschlossen
  1. #1
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Moin moin,

    ich wollte mal fragen ob es möglich ist den ckeditor anstatt den BBcodes für Forumspost einzusetzen. Wenn es geht - sollte es nur für Admins/Moderatoren verfügbar sein.

    Hintergrund:

    Ich finde die Gestalltungsmöglichkeiten beim CKeditor besser als mit BBCode. Als Admin/Moderator erstelle ich öfters HowTo´s und Anleitungen und würde mir wünschen dort den ckeditor zu haben.

    Danke fürs Lesen zwinker


    verwendete ilch Version: 1.1 P
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    jop logisch ist das möglich!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    mensch solche antworten liebe ich ja .. da weiss man doch sofort woran man ist *g*

    Soll ich jetzt einen zweiten thread aufmachen wo ich dann frage ob mir jemand einen Tipp geben kann wie ich das bewerkstellige - denn sonst würde ich ja hier nicht fragen !?

    btw:

    gesperrtes Bild
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Das ist die Standard Antwort von holz, da musst du dich wohl dran gewöhnen oder ignorieren zwinker
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Naja kannst ja so gesehen in der Eigene Box/Page abschauen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Thx für den Tipp siggi - ich werd mal schauen ob ich da weiter komme ...

    zwinker
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    naja meine antwort ist immer so nüchtern wenn keine konkrete frage da ist.

    die frage war ob das geht das hab ich beantwortet. wer mehr wissen will muss konkret fragen und eigeninitiative zeigen.

    mir wurde früher auch nie einfach code präsentiert und ich finde es auch gernell nicht gut einfach alles gleich zu liefern. so lernt man nicht.


    wenn du gefragt hättest wie das geht hätte ich sicher noch tipps dazu gegeben.


    wie siggi schon sagt bei eigene box/page oder bei den news kannst dus dir anschauen.


    es ist im prinzip ganz einfach

    du musst das textfeld anpassen und die ckeditor js sachen kopieren.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    So,

    ich nochmal. Ich musste in den extended News nachschauen und mir dort die Sachen raussuchen.

    Das hat dann auch im zweiten Versuch geklappt - doch plötzlich (ich habe nur den Code noch zum Schluss formatiert) geht es nicht mehr. Das ist mir davor auch schon davor passiert - da hab ich alles rückgängig gemacht und habe nochmal von vorne angefangen. Aber wenn es mehrfach passiert scheint ja noch der wurm drin zu sein.

    Die Fehlermeldung der JS Console ist :

    Uncaught ReferenceError: switch_html is not defined index.php?forum-newtopic-3:269
    onchange index.php?forum-newtopic-3:269
    event.returnValue is deprecated. Please use the standard event.preventDefault() instead. jquery-1.8.3.min.js:2

    Könnte da bitte mal einer der Profis raufschauen und mir sagen wo der Fehler liegt!?

    Ich könnte jetzt nur nochmal von vorne anfangen wobei ich mir sicher bin das zum schluß dasselbe nochmal passiert.

    danke lächeln

    p.s. falls gewünscht kann ich testuser Daten via P.N. zusenden.

    <script type="text/javascript" src="include/includes/ckeditor/ckeditor.js"></script>
    <script language="JavaScript" type="text/javascript"><!--
    function switch_html(){
        var div = document.getElementById('txtdiv');
        var txtarea = document.getElementById('txt');
    
        if (document.forms["form"].html[1].checked || switch_html.arguments[0] == 'true') {
            var oldtxt = txtarea.value;
            document.getElementById('bbcode_buttons').style.display = 'none';
            document.getElementById('smilies').style.display = 'none';
            document.getElementById('btn_vorschau').style.display = 'none';
    
      var objCKE = CKEDITOR.replace( 'txt', {
        baseHref: 'include/includes/ckeditor/',
        height : 400,
        width : 550,
        filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
        filebrowserUploadUrl: 'include/includes/filemanager/index.html'
      }) ;
    
            if (switch_html.arguments[0] == 'true') {
                document.forms["form"].html[1].checked = true;
          objCKE.setData( document.getElementById('vorschau_td').innerHTML );
            } else {
                objCKE.setData( oldtxt );
            }
    
        document.getElementById('vorschau').style.display = 'none';
        } else {
    
            var objCKE = CKEDITOR.instances['txt'];
            var oldtxt = objCKE.getData();
            CKEDITOR.remove(objCKE);
    
        div.innerHTML = '<textarea id="txt" name="txt" rows="15" cols="93" tabindex="2">' + oldtxt + '</textarea>';
            document.getElementById('bbcode_buttons').style.display = 'block';
            document.getElementById('smilies').style.display = 'block';
            document.getElementById('btn_vorschau').style.display = 'inline';
        }
    }
    
    function close_vorschau(){
        document.getElementById('vorschau').style.display = 'none';
    }
    //--></script>
    {xajax}
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_preview}</b>
                    </th>
            </tr><tr>
        <td class="Cmite">{txt}</td>
      </tr>
    </table>
    <br /><br />
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    <!--
      function form_check() {
              document.form.submit.disabled = true;
               document.form.submit.style.background = '#FF0000';
        document.form.submit.value = '{_lang_send}...';
        return true;
            }
    //-->
    </script>
    
    <form action="index.php?forum-newtopic-{fid}" method="POST" name="form" onSubmit="return form_check()">
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_writeanewtopic}</b>
                    </th>
            </tr><tr>
              <td class="Cmite"><b>Thema</b></td>
                    <td class="Cnorm"><input type="text" size="40" value="{topic}" maxlength="40" tabindex="1" name="topic"></TD>
            </tr>{name}<tr>
              <td colspan="2" height="20" class="Cmite">
                      <b>{_lang_writeyourpost}</td>
                    </td>
            </tr><tr>
              <td class="Cmite" rowspan="2" valign="top"><div id="smilies" style="display:block;">{SMILIES}</div></td>
              <td class="Cnorm">
                <div style="display:block;" id="bbcode_buttons">
                  <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
              </td>
            </tr><tr>
        <td width="80%" class="Cnorm">
          <div id="txtdiv">
            <textarea style="width: 98%" cols="75" rows="15" id="txt" name="txt" tabindex="3">{txt}</textarea>
            </div>
        </td>
      </tr>
      <tr>
        <td class="Cmite">{_lang_options}</td>
        <td class="Cnorm"><input id="topic_alert" type="checkbox" value="yes" name="topic_alert" /><label for="topic_alert"> {_lang_mailonreply}</a></td>
      </tr>
      <tr>
        <td class="Cmite" align="right"><strong>HTML : </strong></td>
        <td class="Cnorm"><input type="radio" name="html" value="0" onchange="switch_html();" {sel0} /><label for="html">BBCode</label><input type="radio" name="html" value="1" onchange="switch_html();" {sel1} /><label for="html">HTML (CKEditor)</label></td>
      </tr>
      {antispam}
      <tr class="Cmite">
        <td></td>
        <td><input type="button" value="Vorschau" onclick="xajax_vorschau(xajax.getFormValues('form'));" id="btn_vorschau" style="display:inline;" />&nbsp;<input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' /></td>
      </tr>
    </table>
    </form>
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    also ich habs jetzt nicht getestet

    probiers mal damit.

    <script type="text/javascript" src="include/includes/ckeditor/ckeditor.js"></script>
    <script language="JavaScript" type="text/javascript"><!--
     
      var objCKE = CKEDITOR.replace( 'txt', {
        baseHref: 'include/includes/ckeditor/',
        height : 400,
        width : 550,
        filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
        filebrowserUploadUrl: 'include/includes/filemanager/index.html'
      }) ;
     
            
    function close_vorschau(){
        document.getElementById('vorschau').style.display = 'none';
    }
    //--></script>
    {xajax}
     
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
     
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_preview}</b>
                    </th>
            </tr><tr>
        <td class="Cmite">{txt}</td>
      </tr>
    </table>
    <br /><br />
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    <!--
      function form_check() {
              document.form.submit.disabled = true;
               document.form.submit.style.background = '#FF0000';
        document.form.submit.value = '{_lang_send}...';
        return true;
            }
    //-->
    </script>
     
    <form action="index.php?forum-newtopic-{fid}" method="POST" name="form" onSubmit="return form_check()">
     
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
     
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_writeanewtopic}</b>
                    </th>
            </tr><tr>
              <td class="Cmite"><b>Thema</b></td>
                    <td class="Cnorm"><input type="text" size="40" value="{topic}" maxlength="40" tabindex="1" name="topic"></TD>
            </tr>{name}<tr>
              <td colspan="2" height="20" class="Cmite">
                      <b>{_lang_writeyourpost}</td>
                    </td>
            </tr><tr>
              <td class="Cmite" rowspan="2" valign="top"><div id="smilies" style="display:block;">{SMILIES}</div></td>
              <td class="Cnorm">
                <div style="display:block;" id="bbcode_buttons">
                  <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
              </td>
            </tr><tr>
        <td width="80%" class="Cnorm">
          <div id="txtdiv">
            <textarea style="width: 98%" cols="75" rows="15" id="txt" name="txt" tabindex="3">{txt}</textarea>
            </div>
        </td>
      </tr>
      <tr>
        <td class="Cmite">{_lang_options}</td>
        <td class="Cnorm"><input id="topic_alert" type="checkbox" value="yes" name="topic_alert" /><label for="topic_alert"> {_lang_mailonreply}</a></td>
      </tr>
      <tr>
        <td class="Cmite" align="right"><strong>HTML : </strong></td>
        <td class="Cnorm"><input type="radio" name="html" value="0" onchange="switch_html();" {sel0} /><label for="html">BBCode</label><input type="radio" name="html" value="1" onchange="switch_html();" {sel1} /><label for="html">HTML (CKEditor)</label></td>
      </tr>
      {antispam}
      <tr class="Cmite">
        <td></td>
        <td><input type="button" value="Vorschau" onclick="xajax_vorschau(xajax.getFormValues('form'));" id="btn_vorschau" style="display:inline;" />&nbsp;<input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' /></td>
      </tr>
    </table>
    </form>
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    bei deinem Code kommt genau dieselbe Fehlermeldung - ich habe es auch im IE probiert mit dem Selben Ergebnis.


    Die JavaScript-Konsole ist verbunden und zur Annahme von Befehlen bereit.
    SCRIPT5009: "xajax_vorschau" ist undefiniert
    Datei: index.php, Zeile: 274, Spalte: 1
    SCRIPT5009: "switch_html" ist undefiniert
    Datei: index.php, Zeile: 269, Spalte: 1

    Du hast erstmal den ganzen anderen Kram rausgeschmissen um den Fehler einzukreisen? Weil die ganzen Anweisungen zum Ein/Ausblenden des BBcodes bzw. Editor weg sind?


    danke für die hilfe
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja willst du denn zwischen html und bbcode switchen können?

    <script type="text/javascript" src="include/includes/ckeditor/ckeditor.js"></script>
    <script language="JavaScript" type="text/javascript"><!--
     
      var objCKE = CKEDITOR.replace( 'txt', {
        baseHref: 'include/includes/ckeditor/',
        height : 400,
        width : 550,
        filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
        filebrowserUploadUrl: 'include/includes/filemanager/index.html'
      }) ;
     
            
    function close_vorschau(){
        document.getElementById('vorschau').style.display = 'none';
    }
    //--></script>
    {xajax}
     
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
     
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_preview}</b>
                    </th>
            </tr><tr>
        <td class="Cmite">{txt}</td>
      </tr>
    </table>
    <br /><br />
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    <!--
      function form_check() {
              document.form.submit.disabled = true;
               document.form.submit.style.background = '#FF0000';
        document.form.submit.value = '{_lang_send}...';
        return true;
            }
    //-->
    </script>
     
    <form action="index.php?forum-newtopic-{fid}" method="POST" name="form" onSubmit="return form_check()">
     
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
     
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_writeanewtopic}</b>
                    </th>
            </tr><tr>
              <td class="Cmite"><b>Thema</b></td>
                    <td class="Cnorm"><input type="text" size="40" value="{topic}" maxlength="40" tabindex="1" name="topic"></TD>
            </tr>{name}<tr>
              <td colspan="2" height="20" class="Cmite">
                      <b>{_lang_writeyourpost}</td>
                    </td>
            </tr><tr>
              <td class="Cmite" rowspan="2" valign="top"><div id="smilies" style="display:block;">{SMILIES}</div></td>
              <td class="Cnorm">
                <div style="display:block;" id="bbcode_buttons">
                  <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
              </td>
            </tr><tr>
        <td width="80%" class="Cnorm">
          <div id="txtdiv">
            <textarea style="width: 98%" cols="75" rows="15" id="txt" name="txt" tabindex="3">{txt}</textarea>
            </div>
        </td>
      </tr>
      <tr>
        <td class="Cmite">{_lang_options}</td>
        <td class="Cnorm"><input id="topic_alert" type="checkbox" value="yes" name="topic_alert" /><label for="topic_alert"> {_lang_mailonreply}</a></td>
      </tr>
      <tr>
        <td class="Cmite" align="right"><strong>HTML : </strong></td>
        <td class="Cnorm"><input type="radio" name="html" value="0" onchange="switch_html();" {sel0} /><label for="html">BBCode</label><input type="radio" name="html" value="1" onchange="switch_html();" {sel1} /><label for="html">HTML (CKEditor)</label></td>
      </tr>
      {antispam}
      <tr class="Cmite">
        <td></td>
        <td><input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' /></td>
      </tr>
    </table>
    </form>
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    yes .. später soll es so sein das Admins und Moderatoren die Zeile zum switchen angezeigt bekommen sollen. Normale User bekommen nur das bb-code. Ich finde den CKEditor besser für HowTo's und Tutorial's da man wie in einem Satzprogramm arbeiten kann (besonders nett bei Threads mit vielen Bildern).

    Solche Threads erstellen dann aber nur die oben genannten und der Rest soll nicht weiter mit zusätzlicher Technik abgelenkt werden. zwinker

    Leider bleibt es bei der Fehlermeldung. Wenn ich auf die extended-News im Admin-Bereich umschalte geht es aber. Mich wundert halt nur das es am Anfang funktioniert hatte .. bei zwei Versuchen! Und sich dann nach einer gewissen zeit die Fehlermeldung rein geschlichen hat.

    Das hat man davon wenn man formatierten Code will - never touch a running system ...
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    außerst komisch...

    ok dann musst du wieder von deinem code ausgehen.

    also ich bekomm es bei mir auf die schnelle auch nicht hin ... ich verwende den cke sehr oft ...

    ich mach es so:
    JS:
    var objCKE = CKEDITOR.replace( 'bbwy', {
    		baseHref: 'include/includes/ckeditor/',
    		height : 500,
    		filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
    		filebrowserUploadUrl: 'include/includes/filemanager/index.html'
    	}) ;




    und dann die textarea
    <textarea rows="20" cols="90" class="bbwy" id="bbwy" name="bbwy">{text}</textarea>
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    danke erstmal .. ich schaue auch weiter und wenn ich es finde schreibe ich mal was es war. Jetzt erstmal roll back und dann wieder stück für stück rantasten zwinker


    wie gesagt .. danke für die Hilfe zwinker
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    bin gerade bisschen unter zeitdruck ich schau später auch nochmal drüber
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Also ich bin ein stück weiter - ich habe in zeile 112 meines Codes das

    <input type="button" value="Vorschau" onclick="xajax_vorschau(xajax.getFormValues('form'));" id="btn_vorschau" style="display:inline;" />


    durch

    <input type="submit" name="priview" value="{_lang_preview}" accesskey='v' id="btn_vorschau" style="display:inline;" />


    ersetzt. Dann bekomme ich zwar immer noch die Meldung das die Funktion nicht definiert ist ABER wenn ich dann auf vorschau klicke ! findet er die funktionen auf einmal UND ich kann auf die CKEditor ansicht wechseln. Fehler bekomme ich aber trotzdem noch angezeigt.

    Ich werd mich dann morgen weiter drann machen hier nochmal die letzte Version :

    <script type="text/javascript" src="include/includes/ckeditor/ckeditor.js"></script>
    <script language="JavaScript" type="text/javascript"><!--
    function switch_html(){
        var div = document.getElementById('txtdiv');
        var txtarea = document.getElementById('txt');
    
        if (document.forms["form"].html[1].checked || switch_html.arguments[0] == 'true') {
            var oldtxt = txtarea.value;
            document.getElementById('bbcode_buttons').style.display = 'none';
            document.getElementById('smilies').style.display = 'none';
            document.getElementById('btn_vorschau').style.display = 'none';
    
      var objCKE = CKEDITOR.replace( 'txt', {
        baseHref: 'include/includes/ckeditor/',
        height : 400,
        width : 550,
        filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
        filebrowserUploadUrl: 'include/includes/filemanager/index.html'
      }) ;
    
            if (switch_html.arguments[0] == 'true') {
                document.forms["form"].html[1].checked = true;
          objCKE.setData( document.getElementById('vorschau_td').innerHTML );
            } else {
                objCKE.setData( oldtxt );
            }
    
        document.getElementById('vorschau').style.display = 'none';
        } else {
    
            var objCKE = CKEDITOR.instances['txt'];
            var oldtxt = objCKE.getData();
            CKEDITOR.remove(objCKE);
    
        div.innerHTML = '<textarea id="txt" name="txt" rows="15" cols="93" tabindex="2">' + oldtxt + '</textarea>';
            document.getElementById('bbcode_buttons').style.display = 'block';
            document.getElementById('smilies').style.display = 'block';
            document.getElementById('btn_vorschau').style.display = 'inline';
        }
    }
    
    function close_vorschau(){
        document.getElementById('vorschau').style.display = 'none';
    }
    //--></script>
    {xajax}
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_preview}</b>
                    </th>
            </tr><tr>
        <td class="Cmite">{txt}</td>
      </tr>
    </table>
    <br /><br />
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    <!--
      function form_check() {
              document.form.submit.disabled = true;
               document.form.submit.style.background = '#FF0000';
        document.form.submit.value = '{_lang_send}...';
        return true;
            }
    //-->
    </script>
    
    <form action="index.php?forum-newtopic-{fid}" method="POST" name="form" onSubmit="return form_check()">
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    
    <table width="100%" border="0" cellspacing="1" class="border" cellpadding="5">
      <tr>
              <th colspan="2" height="20" class="Chead">
                      <b>{_lang_writeanewtopic}</b>
                    </th>
            </tr><tr>
              <td class="Cmite"><b>Thema</b></td>
                    <td class="Cnorm"><input type="text" size="40" value="{topic}" maxlength="40" tabindex="1" name="topic"></TD>
            </tr>{name}<tr>
              <td colspan="2" height="20" class="Cmite">
                      <b>{_lang_writeyourpost}</td>
                    </td>
            </tr><tr>
              <td class="Cmite" rowspan="2" valign="top"><div id="smilies" style="display:block;">{SMILIES}</div></td>
              <td class="Cnorm">
                <div style="display:block;" id="bbcode_buttons">
                  <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
              </td>
            </tr><tr>
        <td width="80%" class="Cnorm">
          <div id="txtdiv">
            <textarea style="width: 98%" cols="75" rows="15" id="txt" name="txt" tabindex="3">{txt}</textarea>
            </div>
        </td>
      </tr>
      <tr>
        <td class="Cmite">{_lang_options}</td>
        <td class="Cnorm"><input id="topic_alert" type="checkbox" value="yes" name="topic_alert" /><label for="topic_alert"> {_lang_mailonreply}</a></td>
      </tr>
      <tr>
        <td class="Cmite" align="right"><strong>HTML : </strong></td>
        <td class="Cnorm"><input type="radio" name="html" value="0" onchange="switch_html();" {sel0} /><label for="html">BBCode</label><input type="radio" name="html" value="1" onchange="switch_html();" {sel1} /><label for="html">HTML (CKEditor)</label></td>
      </tr>
      {antispam}
      <tr class="Cmite">
        <td></td>
        <td><input type="submit" name="priview" value="{_lang_preview}" accesskey='v' id="btn_vorschau" style="display:inline;" />&nbsp;<input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' /></td>
      </tr>
    </table>
    </form>


    Fehlermeldung :
    Uncaught TypeError: Cannot call method 'getData' of undefined
    Uncaught TypeError: Cannot read property 'style' of null


    Zuletzt modifiziert von mic_pt am 27.02.2014 - 01:12:57
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also, dass die Funktion nicht definiert ist, liegt in der PHP, wo du sagst, dass er sie registrieren soll.

    Bei den News wird die Funktion halt weiter oben definiert und steht zur Verfügung, für Forum ist sie nicht wirklich notwendig, da gebe ich recht.

    Da ich deine PHP nicht sehe, es ist halt wichtig für den Beitrag selbst zu speichern, ob er HTML ist oder bbcode, um dann auch beim Anzeigen unterscheiden zu können.

    Weiter ist wichtig, dass wirklich nur User mit ausreichenden Rechten in der Lage sind HTML Beiträge zu erstellen, das muss also beim Speichern selbst auch nochtmal überprüft werden.

    Die anderen Fehler könnten kommen, da xajax das so macht und schon relativ lange nicht mehr weiterentwicklelt wurde. Ich selbst würde mittlerweile nicht mehr damit machen, aber das hilft dir sicher nicht wirklich weiter zunge
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Also verstehe ich richtig .. ob BBcode oder ckedit - muss mit in die DB geschrieben werden (inkl. der erweiterung um ein DB-Feld) .. und es ist aufwendig den CKeditor für die news einzubauen (das er genauso funktioniert wie in dein Extended News).

    Ich würde die zeile zum Switchen eh nur admin und mods anbieten - somit - dachte ich - würde eine aufwendige rechte-überprüfung entfallen können.

    meine php habe ich erstmal nur um die function vorschau und den Ajax-code erweitert - aber das ist ja dann nur die halbe wahrheit *grübelt*:

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    if ( $forum_rights['start'] == FALSE ) {
      $forum_failure[] = $lang['nopermission'];
            check_forum_failure($forum_failure);
    }
    
    $title = $allgAr['title'].' :: Forum :: '.aktForumCats($aktForumRow['kat'],'title').' :: '.$aktForumRow['name'].' :: neues Thema';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b>'.aktForumCats($aktForumRow['kat']).'<b> &raquo; </b><a class="smalfont" href="index.php?forum-showtopics-'.$fid.'">'.$aktForumRow['name'].'</a>'.$extented_forum_menu_sufix;
    
    function vorschau($form) {
        global $info;
        $resp = new xajaxResponse();
        $txt = bbcode($form['txt']);
        $resp->assign('vorschau_td', 'innerHTML' , $txt);
        $resp->script("document.getElementById('vorschau').style.display = 'block';");
        if (isset($info['ImgMaxBreite'])) {
            $resp->script("ResizeBBCodeImages()");
        }
        return $resp;
    }
    
    // xajax für vorschau
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'index.php?forum-newtopic-'));
    
    $xajax->register(XAJAX_FUNCTION, 'vorschau');
    $xajax->register(XAJAX_FUNCTION, 'vorschau_id');
    $xajax->processRequest();
    // #### F u n k t i o n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### A k t i o n e n
    
    
    $dppk_time = time();
    $time = time();
    if (!isset($_SESSION['klicktime'])) { $_SESSION['klicktime'] = 0; }
    
    $topic = '';
    $txt   = '';
    $xnn   = '';
    
    if (isset($_POST['topic'])) {
      $topic = trim(escape($_POST['topic'], 'string'));
    }
    if (isset($_POST['txt'])) {
      $txt = trim(escape($_POST['txt'], 'textarea'));
    }
    if (isset($_POST['Gname'])) {
      $xnn = trim(escape_nickname($_POST['Gname']));
    }
    
    if (($_SESSION['klicktime'] + 15) > $dppk_time OR empty($topic) OR empty($txt) OR !empty($_POST['priview']) OR (empty($_POST['Gname']) AND !loggedin()) OR !chk_antispam ('newtopic')) {
    
      $design = new design ( $title , $hmenu, 1);
      $design->header();
    
      $tpl = new tpl ( 'forum/newtopic' );
    
      $name = '';
      if ( !loggedin() ) {
        $name  = '<tr><td class="Cmite"0><b>'.$lang['name'].'</b></td>';
        $name .= '<td class="Cnorm"><input type="text" value="'.unescape($xnn).'" maxlength="15" name="Gname"></td></tr>';
      }
    
      if (isset($_POST['priview'])) {
        $tpl->set_out('txt', bbcode(unescape($txt)), 0);
      }
    
      $ar = array (
        'name'    => $name,
        'txt'     => escape_for_fields(unescape($txt)),
        'topic'   => escape_for_fields(unescape($topic)),
            'fid'     => $fid,
            'SMILIES' => getsmilies(),
            'antispam'=> get_antispam('newtopic',1)
      );
      $tpl->set_ar_out($ar,1);
    
    } else {
    
      # save toipc
      $_SESSION['klicktime'] = $dppk_time;
    
      $design = new design ( $title , $hmenu, 0);
      $design->header();
    
      if ( loggedin()) {
        $uid = $_SESSION['authid'];
              $erst = escape($_SESSION['authname'],'string');
              db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);
            } else  {
              $erst = $xnn;
                    $uid = 0;
      }
    
      db_query("INSERT INTO `prefix_topics` (fid, name, erst, stat) VALUES ( ".$fid.", '".$topic."', '".$erst."', 1 )");
      $tid = db_last_id();
    
      # topic alert
      if (!empty($_POST['topic_alert']) AND $_POST['topic_alert'] == 'yes' AND loggedin()) {
        if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
          db_query("INSERT INTO prefix_topic_alerts (tid,uid) VALUES (".$tid.", ".$_SESSION['authid'].")");
        }
      }
    
      db_query ("INSERT INTO `prefix_posts` (tid,fid,erst,erstid,time,txt) VALUES ( ".$tid.", ".$fid.", '".$erst."', ".$uid.", ".$time.", '".$txt."')");
      $pid = db_last_id();
    
      db_query("UPDATE `prefix_topics` SET last_post_id = ".$pid." WHERE id = ".$tid);
      db_query("UPDATE `prefix_forums` SET posts = posts + 1, last_post_id = ".$pid.", topics = topics + 1 WHERE id = ".$fid);
    
      # toipc als gelesen markieren
      $_SESSION['forumSEE'][$fid][$tid] = time();
    
      wd('index.php?forum-showposts-'.$tid,$lang['createtopicsuccessful']);
    }
    
    $design->footer();
    ?>


    Frag ich mal anders rum - gibt es eine alternative zum ckeditor die infacher einzubinden ist (mit ähnlichen funktionen) oder ist es am besten einfach bei bb-codes zu bleiben.

    grüße


    Zuletzt modifiziert von mic_pt am 27.02.2014 - 12:49:06
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Wenn du HTML für die Gestaltung willst und es sicher sein soll (also nicht jeder einfach HTML schreiben darf) ist es egal welchen JS Editor du nimmst, es müsste auf Serverseite immer diese Erweiterung kommen.

    Und ja es muss in der Datenbank gespeichert werden, woher weißt du sonst, was BBCode und was HTML ist. (Wird bei den News ja auch gemacht).

    Es ist halt genauso kompliziert, wie bei den News.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    danke erstmal .. wird wohl ein längeres Projekt zwinker
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten