Zum Inhalt springen

Tabellen mit htmlArea

Erstellt am 24. Juni 2005 · 5 Antworten · letzte Antwort am 16. September 2005

Tags: Frage

hillman ·

Ich finde den htmlArea RTE eigentlich echt gut. Wenn man erst mal die ganze Konfiguration soweit hinter sich hat, ist es im Moment der beste RTE für Typo3. Nur bei den Tabellen, die htmlArea erstellt passen mir zwei Dinge nicht.

1. Wenn ein Redakteur eine neue Tabelle anlegt, dann sollte die vertikale Textausrichtung in den Zellen standardmäßig "oben" sein. So ist es ja immer "center". Kann man das irendwo einstellen? Mir ist außedem aufgefallen, das selbst wenn man bei den Tabelleneigenschaften die Ausrichtung auf "oben" stellt, dies in den Zellen trotzdem nicht funktioniert. Die einzige Möglichkeit scheint zu sein jede Zelle über die Zelleigenschaften entsprechend einzeln zu konfigurieren. Das kann man von einem Redakteur nicht fordern. Der erklärt einen zurecht für Verrückt.

2. Noch mal etwas, was ich standardmäßg gern anders hätte: Den Rahmen um die einzelnen Zellen. Der wird ja standardmäßig nicht gezogen. Ich möchte aber, dass standardmäßig um jede Zelle ein sichtbarerer Rahmen gezogen wird.

Weiß jemand, ob und wo man solche Standardeinstellungen für die Tabellen in htmlArea vornehmen kann??

Viele Grüße
Jürgen

NeoBlack ·
hillman schrieb

1. Wenn ein Redakteur eine neue Tabelle anlegt, dann sollte die vertikale Textausrichtung in den Zellen standardmäßig "oben" sein. So ist es ja immer "center". Kann man das irendwo einstellen? Mir ist außedem aufgefallen, das selbst wenn man bei den Tabelleneigenschaften die Ausrichtung auf "oben" stellt, dies in den Zellen trotzdem nicht funktioniert. Die einzige Möglichkeit scheint zu sein jede Zelle über die Zelleigenschaften entsprechend einzeln zu konfigurieren. Das kann man von einem Redakteur nicht fordern. Der erklärt einen zurecht für Verrückt.

CSS machts möglich:

td {
  vertical-align: top;
}
hillman schrieb

2. Noch mal etwas, was ich standardmäßg gern anders hätte: Den Rahmen um die einzelnen Zellen. Der wird ja standardmäßig nicht gezogen. Ich möchte aber, dass standardmäßig um jede Zelle ein sichtbarerer Rahmen gezogen wird.

CSS machts möglich:

td {
  border: 1px solid #000;
}
hillman ·

Offen gestanden habe ich mich bis jetzt nur sehr rudimentär mit CSS beschäftigt. Ich sehe aber, dass ich da nicht drum herum kommen werde. Muss mich da mal intesiver mit beschäftigen.

Eine Frage noch: Wird denn dadurch diese "Standardeinstellung" direkt beim Anlegen der Tabelle im htmlArea angezeigt, oder erst bei der Ausgabe entsprechend umformatiert? Und muss das CSS im Template eingebunden sein, oder htmlArea intern? Doch eher zweiteres, wenn es als Standard beim Erstellen gelten soll, oder? Geht das denn?

hillman ·

Hab mich mal wieder zu früh gefreut! 😢 Wird nur im Backend richtig angezeigt. Im Frontend fehlen die Rahmen immer noch und die Schrift ist immer noch vertikal zentriert. Das ist ja nicht der Sinn eines WYSIWYG Editors...

Wahrscheinlich habe ich das ganze in die falsche CSS-Datei gepackt (htmlarea/skins/default/htmlarea-edited-content.css). Aber in welche muss das denn richtigerweise rein?

Matrose ·

Hallo hillman,

ich hatte das gleiche Problem mit der Textausrichtung in den Zellen und hab ich auf die Suche gemacht. Die entscheidenden Zeilen hab ich in der Extension gefunden, allerdings kann man diese nicht mittels TYPOScript anpassen. Du musst es dann in der Extension hardcoden.

Die beiden entscheidenden Zeile stehen in der Datei tabel-operations.js bzw. tabel-operations-compressed.js. Die beiden Datein beinhalten das selbe, nur ist es in der compressed Datei alles in eine Zeile geschrieben, so dass man da garnicht durchblickt. Leider musst du diese Datei abändern, damit die Änderungen auswirkung zeigen.
Die beiden Datein stehen in dem Ordner typo3conf/ext/rtehtmlarea/htmlarea/plugins/TableOpterations/

Um die vertikale Ausrichtung des Textes zu ändern, musst du in Zeile 876 ganz hinten den Wert middle auf top setzen.

	select = TableOperations.buildSelectField(doc, el, i18n, fieldset, "f_st_vertAlign", "Vertical alignment:", "fl", "floating", "Vertical alignment of content within cell", ["Top", "Middle", "Bottom", "Baseline"], ["top", "middle", "bottom", "baseline"], new RegExp((el.style.verticalAlign ? el.style.verticalAlign : "middle"), "i"));

Wenn du auch noch die horrizontale Ausrichtung beeinflussen willst, dann findest du diese in Zeile 856:

	select = TableOperations.buildSelectField(doc, el, i18n, fieldset, "f_st_textAlign", "Text alignment:","fl", "floating", "Horizontal alignment of text within cell", options, values, new RegExp((f_st_textAlign ? f_st_textAlign : "left"), "i"));

Jetzt musst du nur noch die Änderung in der Datei tabel-operations-compressed.js vornehmen und schon klappt das.

Kleiner Tipp: Wenn du nach middle suchst, dann findet er nur 3 Stellen an der das auftaucht. Die 3. Stelle müsste dann die sein, die Du bearbeiten musst.

Schöne Grüße,
Matrose