Hi!
Habe mir ein eigenes Content-Element erstellt, das zunächst einen sehr einfachen Aufbau hat. Nur Text und ein Bild. Den Text habe ich allerdings nicht als extra Feld eingepflegt, sondern nutze dafür "bodytext" aus der tabelle "tt_content", da dann eine hübsche Vorschau im BE entsteht.
Das Problem ist nun, dass der eingegebene Text bei der Ausgabe im Frontend nicht gerendert wird; er erscheint einfach so wie in der Datenbank.
Bsp.:
In der Datenbank -->
absatz1
absatz2
absatz3
Das wird im FE exakt so ausgegeben, soll heissen, die <P>-tags fehlen 😢
Ändere ich den Typ des Content-Elements nachträglich wieder auf "Text", erscheint prompt die korrekte Ausgabe im FE:
<p>absatz1</p>
<p>absatz2</p>
<p>absatz3</p>
Wie kann cih erreichen, dass mein Content-Element den text auch korrekt darstellt?
CU
maxhb
hi auch
das ganze wird ja augenscheinlich nicht richtig geparst....
wird der html parser denn in deinem content objekt angesprochen???
ist ja nur ne möglichkeit....
hatte das problem auch und es lag schlicht daran, dass der content, der aus der datenbank kam nicht durch den parser lief.....
ich weiss nicht mehr genau wo, aber irgendwo muss das neu e objekt angelegt werden....
ich suche mal....
hab das projekt leider nicht mehr da, wo ich es gemacht habe, aber ich gucke!
gruss
thorsten
Hi!
TW schriebdas ganze wird ja augenscheinlich nicht richtig geparst....
wird der html parser denn in deinem content objekt angesprochen???
ist ja nur ne möglichkeit....
Das dürfte exakt das Problem sein. Ich lese den Wert eines etxtfeldes direkt per PHP aus und kann dementsprechend auch erstmal nur den blanken Code - so wie er in der DB steht - ausgeben.
Die Frage wäre nur, wie man den Feldinhalt korrekt rendert, folgendes hatte ich mir zusammengereimt, es funktioniert aber nicht...
$this->cObj->TEXT(...);
CU
maxhb
maxhb schriebHi!
TW schriebdas ganze wird ja augenscheinlich nicht richtig geparst....
wird der html parser denn in deinem content objekt angesprochen???
ist ja nur ne möglichkeit....
Das dürfte exakt das Problem sein. Ich lese den Wert eines etxtfeldes direkt per PHP aus und kann dementsprechend auch erstmal nur den blanken Code - so wie er in der DB steht - ausgeben.
Die Frage wäre nur, wie man den Feldinhalt korrekt rendert, folgendes hatte ich mir zusammengereimt, es funktioniert aber nicht...
$this->cObj->TEXT(...);
CU
maxhb
hi
also einmal um das dig aus bodytext zu holen...
$content = trim($this->cObj->data["bodytext"]);
und die ausgabe in der $content...
$content.=$this->cObj->TEXT($conf);
klappt in meinem neuen contetn element damit ganz gut...
gruss
thorsten
TW schriebalso einmal um das dig aus bodytext zu holen...
$content = trim($this->cObj->data["bodytext"]);
Soweit klappt es, da steht mein Text drin.
TW schrieb
und die ausgabe in der $content...
$content.=$this->cObj->TEXT($conf);
Leider kommt hier aber nichts raus 😢
BTW, als CType steht für mein Content-Element auch der Name meines Content-Elements, vermutlich kann typo garnicht wissen, wie man das rendert.
Folgendes habe ich an der Tabelle tt_content erweitert:
1. ein Bild
2. Alt-Text für Bild
3. eine Überschrift
4. eine Checkbox
Was ich also möchte ist diese Inhalt selbst rendern. Andererseits soll der "bodytext" aber wie gewohnt ausgegeben werden...
Vielleicht habe ich da auch einen völlig falschen Ansatz gewählt.
CU
maxhb
hi hab nochmal gesucht....
ne weitere variante, halt immer nur für den text...
$content = $this->cObj->parseFunc ($text, $this->conf["TEXT."]["20."]["parseFunc."]);
da wird der parser ja direkt angesprochen.....
BTW, als CType steht für mein Content-Element auch der Name meines Content-Elements, vermutlich kann typo garnicht wissen, wie man das rendert.
dann musste eine neues cObj in die tslib_content eintragen.....
ich glaub da war es*grübel*
kann ich jetzt aber nicht mit sicherheit sagen...
da war auch die funktion IMGTEXT.....
$alttext2 = $this->stdWrap($conf["altText2"],$conf["altText2."]);
if ($alttext2) {
$altP = ' alt="'.strip_tags($alttext2).'"';
}
.........
dies sollte in die funktion hineingeschreiben werden....
kann leider nicht genau sagen wo das war....
aber damit sollte der ALT-TEXT ausgegeben werden..
hab immer nur dateiauszüge hier auf meinem rechner, die ich irgendwann mal bearbeitet habe!
daher kann ich das alles nicht mit 100% sagen...
gruss
thorsten
Hi!
@TW: Danke für Deine Bemühungen. Hab's zwar letztendlich nicht per PHP hinbekommen, aber Deine Hinweise haben mich auf jeden Fall ermuntert am Ball zu bleiben
Letztendlich habe ich dann eine einfache Lösung gefunden, die per TS funktioniert. Einfach folgendes ins Template schreiben und alle Sorgen sind wie weggeblasen ;-)
plugin.tx_meineExtension_pi1.text < tt_content.text
CU
maxhb
maxhb schriebHi!
@TW: Danke für Deine Bemühungen. Hab's zwar letztendlich nicht per PHP hinbekommen, aber Deine Hinweise haben mich auf jeden Fall ermuntert am Ball zu bleiben
Letztendlich habe ich dann eine einfache Lösung gefunden, die per TS funktioniert. Einfach folgendes ins Template schreiben und alle Sorgen sind wie weggeblasen ;-)
plugin.tx_meineExtension_pi1.text < tt_content.text
CU
maxhb
ermuntern tue ich doch gerne 😉
aber das war klar, das es so einfach sein würde #giggle#
beste grüsse
Hi!
TW schriebaber das war klar, das es so einfach sein würde #giggle#
habe gerade herausgefunden, das es sogar noch einfacher sein kann. Wenn man in der tca.php seiner Extension den transform_mode eines RTE Feldes auf css stellt (ist standardmässig auf ts eingestellt), dann schreibt der RTE gleich richtiges HTML in die Datenbank, so dass man einfach das Feld per PHP auslesen und ausgeben kann...
Viele Wege führen nach Rom, aber nochr mehr Wege zum eigenen Typo3 Auftritt ;-)
CU
maxbh
maxhb schriebHi!
TW schriebaber das war klar, das es so einfach sein würde #giggle#
habe gerade herausgefunden, das es sogar noch einfacher sein kann. Wenn man in der tca.php seiner Extension den transform_mode eines RTE Feldes auf css stellt (ist standardmässig auf ts eingestellt), dann schreibt der RTE gleich richtiges HTML in die Datenbank, so dass man einfach das Feld per PHP auslesen und ausgeben kann...
Viele Wege führen nach Rom, aber nochr mehr Wege zum eigenen Typo3 Auftritt ;-)
CU
maxbh
#evil# und ich hab mir den ast abgeschrieben mit den php dateien......die zu modifizieren...
na ja.........
thx für den einfachen weg.... #giggle#
gruss
thorsten