WYSIWYG-Eingabe speichern ohne zur Editor-Ansicht zurück

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

WYSIWYG-Eingabe speichern ohne zur Editor-Ansicht zurück

Beitrag von kptkip »

Ich werde von meine Redakteuren häufiger gefragt, ob es nicht einen zweiten Speicherbutton gäbe, mit dem man die Inhalte im TextHTML-Feld in der WYSIWYG-Ansicht sichert, ohne automatisch zur Ansicht des Inline-Editings und der anderen Elemente zurück zu spricngen.

Momentan landet man ja automatisch wieder in der Seitenansicht, in der man dann wieder "TextHTML" auswählen muss um erneut in den Editor zu gelangen. Wenn man unmengen an Artikeln korrigieren muss ist das etwas mühselig.

Eine ähnliche Funktion kenn ich in Typo3 (Speichern, Speichern/Schließen, Schließen etc.).

Ich denke, man müsste dazu nur ein Flag mit übergeben und dann die Umleitung wieder auf die Ausgangsseite leiten. in welchen Classes wird denn dieser Speicher-Mechanismus ausgelöst?

So long!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Das könnte einfacher sein, als gedacht. Bitte mal auf einem TESTSYSTEM probieren:

contenido/includes/include.CMS_HTML.php:

Code: Alles auswählen

if ( $doedit == "1" ) {
    conSaveContentEntry($idartlang, "CMS_HTML", $typenr, $CMS_HTML);
    conMakeArticleIndex ($idartlang, $idart);
    conGenerateCodeForArtInAllCategories($idart);
    header( "location:".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&changeview=edit")."");
}
in

Code: Alles auswählen

if ( $doedit == "1" || $doedit == "2") {
    conSaveContentEntry($idartlang, "CMS_HTML", $typenr, $CMS_HTML);
    conMakeArticleIndex ($idartlang, $idart);
    conGenerateCodeForArtInAllCategories($idart);
}

if ( $doedit == "1" ) {
    header( "location:".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&changeview=edit")."");
}
ändern.

Code: Alles auswählen

        echo "  <TR valign=top><TD colspan=2><br>
                      <a href=".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&lang=$lang")."><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_cancel.gif\" border=0></a>
                      <INPUT type=image name=submit value=editcontent src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0>
                      </TD></TR>";
in

Code: Alles auswählen

        echo "  <TR valign=top><TD colspan=2><br>
                      <a href=".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&lang=$lang")."><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_cancel.gif\" border=0></a>
                      <INPUT type=image name=submit value=editcontent src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0>
<a href="#" onclick="document.forms[0].doedit.value='2';document.forms[0].submit();><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0></a>
                      </TD></TR>";
ändern.

Das ist jetzt noch ein wenig geklebt - der rechte Button sollte dann nur speichern. Ungetestet, kann gänzlich gar nicht funktionieren und irgendwas zernageln - daher nur auf Testsystem probieren.

Und natürlich funzt das ggf. erstmal nur für CMS_HTML-Felder.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Hallo HerrB,

vielen Dank, ich habe den zweiten Code-Schnipsel folgendermaßen abgeändert:

Code: Alles auswählen

echo "  <TR valign=top><TD colspan=2><br>
                    <a href=".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&lang=$lang")."><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_cancel.gif\" border=0></a>
                    <INPUT type=image name=submit value=editcontent src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0>
                    <a href=\"#\" onclick=\"document.forms[0].doedit.value='2';document.forms[0].submit();\"><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=\"0\"></a>
                    </TD></TR>";
Da war ein kleiner \"-Fehler drin.

Im Prinzip geht es, aber er sichert die Änderungen nicht. Aber genau so sollte das ganze vom Ablauf her gehen :-) Danke vielmals
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Im Prinzip geht es, aber er sichert die Änderungen nicht.
Ähm... dann gehts doch nicht, oder?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Oder anders gesagt: Der Mechanismus geht in die richtige RIchtung, aber der Kern geht noch nicht ;-)

Wich wundert es aber. Ich habe mir mal die Werte für $doedit ausgeben lassen und es tut eigentlich gut. Laut Code hätte ich gedacht dass es gehen müßte, oder hängt die funktion header(...) da irgendwie noch mit dran?
Sollte doch eigentlich nicht, oder? DIe Leitet doch nur die Ansicht um.

Ich versuch es mal mit einer expliziten Umleitung zum Editor-Screen. Würde mich aber wundern, wenn es daran liegt...
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Habe es nun:

der zweite Schnipsel muss so aussehen, dann gehts:

Code: Alles auswählen

echo "  <TR valign=top><TD colspan=2><br>
        <a href=".$sess->url($cfgClient[$client]["path"]["htmlpath"]."front_content.php?area=$tmp_area&idart=$idart&idcat=$idcat&lang=$lang")."><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_cancel.gif\" border=0 alt=\"Abbrechen\" title=\"Abrechen\" /></a>
        <INPUT type=image name=submit value=editcontent src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok_back.gif\" border=0 alt=\"Speichern und Schließen\" title=\"Speichern und Schlie&szlig;en\">
        <INPUT type=image name=submit1 onclick=\"document.forms[0].doedit.value='2';document.forms[0].submit();\" value=editcontent src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0 alt=\"Nur Speichern\" title=\"Nur Speichern\">
        </TD></TR>";
Vielen Dank für das Skriptchen! :-)
Gesperrt