pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: gorzka am 21 Januar 2006, 15:07:38

Titel: Nochmal Spaw Editor
Beitrag von: gorzka am 21 Januar 2006, 15:07:38
Ich möchte folgendes in meinen Code integrieren:

if ($GLOBALS['wysiwyg'] && $GLOBALS['wysiwyg_dolo']) {
                $sw = new SPAW_Wysiwyg('description'/*name*/ ,
                    $name[description]/*value*/ ,
                    _DOC_LANGUAGE/*language*/ ,
                    $GLOBALS['wysiwyg_toolbar']/*toolbar mode*/ ,
                    $GLOBALS['wysiwyg_btnset']/*theme*/ ,
                    '100%'/*width*/ ,
                    '150'/*height*/);
                $sw->show();
            } else {
                echo "<textarea name=\"description\" cols=\"60\" rows=\"10\">" . mxPrepareToDisplay($name[description]) . "</textarea>";
            }


Leider bleibt der Editor leer und ist auch nicht aktiv, das heisst das ich nicht reinschreiben kann.

Wo kann der Fehler liegen?
Titel: Re: Nochmal Spaw Editor
Beitrag von: RiotheRat am 22 Januar 2006, 20:59:32
Stumpfes Copy und Paste bringt Dich nicht weiter ... der von Dir gepostete Part ist aus dem Downloadmodul und erwartet auch die übergebenen Vars aus diesem Modul. Ausserdem fehlt da noch ein ein wenig was um einen funktionsbereiten Editor zur Verfügung zu stellen. Ein Blick ins ReadMe des Editors hätte Deine Frage aber auch beantwortet!

Nach der Prüfung ob das adminfile oder die mainfile geladen ist folgende Zeilen einfügen

$wysiwyg = 0;
if (@is_file('spaw/spaw_control.class.php')) {
include_once('spaw/spaw_control.class.php');
}


Damit wird der Spaw erstmal eingebunden, dann kann der Aufruf in der jeweiligen Funktion erfolgen

if ($GLOBALS['wysiwyg']) {
$sw = new SPAW_Wysiwyg('demo'/*name*/ ,
'' /*value*/ ,
_DOC_LANGUAGE /*language*/ ,
$GLOBALS['wysiwyg_toolbar'] /*toolbar mode*/ ,
$GLOBALS['wysiwyg_btnset'] /*theme*/ ,
'100%' /*width*/ ,
'300' /*height*/);
$sw->show();
} else {
echo <textarea name=\"demo\" cols=60 rows=5></textarea>";
}

Im oberen Fall wird eine Editorinstanz gestartet die "demo" als Formularwert übergibt. Es wird im Editor (und in der Textarea) kein Vorgabewert gemacht. Der Editor hat eine Breite von 100% und eine Höhe von 300 Pixeln.

Angenommen Du hast etwas aus der Datenbank ausgelesen und möchtest das per Editor bearbeiten, dann muss "value" belegt werden, und für den den Fall dass der Editor "aus" ist das auch in die Textarea geladen werden, das sieht dann so aus ...

if ($GLOBALS['wysiwyg']) {
$sw = new SPAW_Wysiwyg('demo'/*name*/ ,
'$db_vorgabe' /*value*/ ,
_DOC_LANGUAGE /*language*/ ,
$GLOBALS['wysiwyg_toolbar'] /*toolbar mode*/ ,
$GLOBALS['wysiwyg_btnset'] /*theme*/ ,
'100%' /*width*/ ,
'300' /*height*/);
$sw->show();
} else {
echo <textarea name=\"demo\" cols=60 rows=5>".mxPrepareToDisplay($db_vorgabe)."</textarea>";
}


Würde $db_vorgabe (als Beispiel) "Hallo Welt" enthalten, dann wird "Hallo Welt" auch im Editorfenster angezeigt ...

RtR