Guten Morgen,
#angry#
Wenn ich in einer eigenen Extension ein Feld "Text area with RTE" anlege, dann schmeißt er mir später im FE die <p>-Tags raus, obwohl sie im BE zu sehen sind. Sprich: Im RTE ist alles richtig zu sehen, er macht die Absätze und zeigt sie auch richtig an.
Beim Anlegen des Feldes habe ich unter
"Rich Text Editor Mode" -> Typical basic setup (new "Bodytext" field based on CSS stylesheet) gewählt. Auch die erste Möglichkeit habe ich bereits ausprobiert.
Wenn ich "normale" Seiteninhaltselemente erstelle, dann geschieht dies nicht, sprich die <p>-Tags kommen im FE richtig an. Deswegen dürfte es doch eigentlich nicht an einer falschen Einstellung des RTE liegen?
Muss die Extension noch für den RTE angepasst werden?
htmlArea RTE v 1.4.1
- dit Ding treibt mich noch'n wahnsinn -
Grüße
wahrscheinlich fehlt Dir die Verbindung
plugin.tx_myext_pi1.parseFunc < tt_content.text.parseFunc
obwohl ich ein solches Problem noch nicht hatte.
Wie lauten die Parameter des RTE in der tca.php ?
in der tca.php steht:
"listdesc" => Array (
"exclude" => 1,
"label" => "LLL:EXT:meine_extension/locallang_db.xml:tx_meine_extension_list.listdesc",
"config" => Array (
"type" => "text",
"cols" => "30",
"rows" => "5",
"wizards" => Array(
"_PADDING" => 2,
"RTE" => Array(
"notNewRecords" => 1,
"RTEonly" => 1,
"type" => "script",
"title" => "Full screen Rich Text Editing|Formatteret redigering i hele vinduet",
"icon" => "wizard_rte2.gif",
"script" => "wizard_rte.php",
),
),
)
),
In der ext_localconf.php:
RTE.config.tx_meine_extension.listdesc {
hidePStyleItems = H1, H4, H5, H6
proc.exitHTMLparser_db=1
proc.exitHTMLparser_db {
keepNonMatchedTags=1
tags.font.allowedAttribs=
tags.font.rmTagIfNoAttrib = 1
tags.font.nesting = global
}
}
plugin.tx_meine_extension_pi1.parseFunc < tt_content.text.parseFunc
Hat leider nicht funktioniert.
Im RTE meiner Extension sind auch einige Felder (z.B. Tabelle und Schriftfarbe), die ich normalerweise nicht sehe, weil ich sie im TSconfig der Root-Seite ausgeschaltet habe, zu sehen. Das kann ja nur bedeuten, dass der RTE die Sachen im TSconfig nicht beachtet. Deswegen funktionierien sicher die <p>-Tags auch nicht.
Hast du noch eine Idee?
Probiers mal in deinem Plugin mit
$content.= $this->pi_RTEcssText($meinText);
pi_RTEcssText($var) sorgt dafür, dass der Text mit den per RTE eingegebenen HTML-Tags ausgegeben wird.
Grüße
Jehu
Ich habe folgendes probiert:
$desc .= $this->pi_RTEcssText['prodesc'];
$markerArray["###BESCHREIBUNG###"] = ($desc);
😃 Sehr gut. Er macht die <p>-Tags!!
Noch ein paar Fragen zum Verständnis:
1) Sollten eigene Extensions im Normalfall die RTE-Einstellungen der Root-Seite von selbst übernehmen, also ohne, dass ich das meiner Extension irgendwie explizit sagen muss?
2) Muss folgendes auf jeden Fall irgendwo stehen oder ist das nicht unbedingt notwendig?
plugin.tx_myext_pi1.parseFunc < tt_content.text.parseFunc
Wenn ja wo? SETUP, TSconfig, CONSTANTS (um sicher zu gehen)
Jetzt habe ich immer noch das Problem, dass in RTE-Feldern eigener Extensions Felder wie Tabelle, Einrücken, usw. vorhanden sind, die ich da aber nicht will. Muss das für jede Extension wieder einzeln eingestellt werden, welche Buttons verfügbar sein sollen und welche nicht?
Grüße,
Stephan
Das letzte Problem konnte ich lösen, in dem ich unter "Rich Text Editor Mode" -> custom gewählt habe. Im nächsten Schritt kann man dann die Felder angeben, die zur Verfügung stehen sollen.
Meine css-Klassen und der ganze Rest werden übernommen und so ist es endlich so wie es sein soll.
Danke!
Ich habe dasselbe Problem mit den <p>-tags. Wo genau hast du den Code
$this->pi_RTEcssText
geändert? Ich finde keine passende Stelle.
Danke für deinen Tipp.
Beim Auslesen des Feldes selbst. Also irgendwo in class.tx_deineextension_pi1.php. Bei mir sieht das dann so aus:
// Beschreibung für Listen-Ansicht auslesen
$desc = '';
if ($row['listdesc'] != "") {
...
$desc .= $this->pi_RTEcssText($row['listdesc']);
}
$markerArray["###MARKER_IRGENDWAS###"] = $desc;
Sollte aber auch so gehen:
$markerArray["###MARKER_IRGENDWAS###"] = $this->pi_RTEcssText($row['listdesc']);
Grüße