WYSIWYG-Editor bereits in der "Editoransicht"

Gesperrt
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

WYSIWYG-Editor bereits in der "Editoransicht"

Beitrag von kptkip »

Wie kann ich einen externen WYSIWYG-Editor (z.B. TinyMCE oder FCKEditor) bereits in der Editoransicht im Seitenlayout einbetten?

Zum einen sind mir die Klickwege bis zur Editierung eines Contents zu weit, da man in jeden Content-Container extra rein muß um vernünftig zu editieren.
Andrerseits habe ich mit dem <div>-Tag im Editor-Fenster das Problem, daß
a) der Mozilla dort kein Copy-Paste macht und
b) der IE-Explorer natürlich keine Zeichen bereinigt dort reinschreibt (das soll ja auch schließlich der eigentliche Editor machen. Der ist aber erst ein Klick davon entfernt)

Also das Ende vom Lied ist: ich habe nun Umlaute plain in der Seite drinstehen - nicht gerade der Weisheit letzter Schluß.
Also: Editor bereits in die Ansicht einbetten fertig!

Nun denn, ich habe auch schon mal auf doof in der DB den Typ CMS_HTML erweitert, daß er mir den tinyMCE mit einbettet, habe aber keinen sonderlichen Erfolg gehabt bisher. Er zeigt den Editor zwar an, aber er übernimmt keine existierenden Werte und schreibt sie auch nicht mehr.

Hier mal kurz mein erster Versuch:

Code: Alles auswählen

/**
 * CMS_HTML
 */
$tmp = $a_content['CMS_HTML'][$val];

$tmp = urldecode($tmp);
$tmp = AddSlashes(AddSlashes($tmp));
$tmp = str_replace("\\\'","'",$tmp);

if ($edit) {

echo <<<JSCRIPT
<!-- tinyMCE -->
<script language="javascript" type="text/javascript" src="
JSCRIPT;
echo $cfg['path']['wysiwyg_html']; 
echo <<<JSCRIPT
jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
        tinyMCE.init({
                mode : "textareas",
                theme : "advanced",
                language : "de",
                theme_advanced_buttons2_add_before: "cut,copy,paste,separator",
                theme_advanced_buttons3_add_before : "tablecontrols,separator",
                theme_advanced_toolbar_location : "top",
                theme_advanced_toolbar_align : "left",
                theme_advanced_disable : "help,code,anchor"

        });
</script>
<!-- /tinyMCE -->
JSCRIPT;

$before="<textarea id=\"HTML_".$db->f("idtype")."_".$val."\" style=\"width:100%; height:300px;\">";

$editbutton = "</textarea><a href=\"javascript:setcontent('$idartlang','".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTML&typenr=$val&lang=$lang")."')\">
<img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithtml.gif\" border=\"0\"></a>
<a href=\"javascript:setcontent('$idartlang','0')\"><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_speichern.gif\" border=\"0\">   </a>";
$editbutton = AddSlashes(AddSlashes($editbutton));
$editbutton = str_replace("\\\'","'",$editbutton);

$before= AddSlashes(AddSlashes($before));
$before = str_replace("\\\'","'",$before);

if ($tmp == "") {
$tmp = "&nbsp;";
}
$tmp = $before.$tmp.$editbutton;
Vielleicht hat da jemand einen anderen Trick. evtl. garnicht über die con_type-Tabelle... Wer weiß!
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hmm... ad. speicherung
es wäre möglich das in der include.con_editcontent.php die javascript function setcontent nicht mit textareas umgehen kann...
*** make your own tools (wishlist :: thx)
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Antwort nicht verstanden

Beitrag von kptkip »

Ich habe Deine Antwort leider nicht verstanden.

Was willst Du mir damit sagen? :-)

Dass es prinzipiell nicht geht mit textareas und ich das zusätzlich in der include-Datei ändern soll, oder daß ich es nur dort ändern soll?

Sorry, stehe vielleicht auf dem Schlauch, aber ich wurde aus Deinem Tipp nicht so schlau. :wink:

Gruß
Kpt|Kip
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

in der datei include.con_editcontent.php gibts ja die javascript funktion setContent

diese ist an sich dafür verantwortlich sämtlichen content aus den divs in ein textarea feld zusammenzufügen und dann erst zu posten...

tinymce arbeitet aber mit einem textarea feld und mit keinem div...

alles was ich damit sagen möchte ist das der speichern button vermutlich nicht funktionieren wird...
*** make your own tools (wishlist :: thx)
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

:lol: Alaska!

Habe mir die Funktion gerade angesehen und auch gesehen, dass sie das Flag isEditable abfragt. Das hatte ich nicht im Code drin. Mal sehen, ob es damit geht.

Was mich allerdings auch wundert, ist die Tatsache, dass auch das Einfügen schon nicht geht. Also das Schreiben eines existierenden Wertes in die Textarea.

Ob die JS-Funktion generell eine Unterscheidung macht, muß ich mir nochmal genauer anschauen. Tendenziell würde ich sagen, nein, da sie alle Elemente der Seite untersucht, (getElementByTagName("*")) und checkt, ob sie editable sind.

Naja mal testen...

Vielen Dank für den Tipp mit der include-Datei.

Wenns geklappt hat poste ich das mal hier..
kypta
Beiträge: 295
Registriert: Di 8. Jul 2003, 13:25
Kontaktdaten:

Beitrag von kypta »

@ kptkip: Bist Du da noch dran?
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Ich hatte schon mal einen Editor drin, allerdings ist es schwieriger als gedacht, das Textfeld bei SPeichern mit dem Editor-Inhalt zu beschreiben, um das auch wieder ins System zurückzuschreiben.

Also de facto leider noch kein Ergebnis.
Gesperrt