Zum Inhalt springen

js und rte ?

Erstellt am 6. Mai 2009 · 10 Antworten · letzte Antwort am 17. Mai 2009

Tags: Frage

ezra ·

Hallo,

ich find leider keinen richtigen Ansatz für mein Problem:
ich hatte eine statische Seite erstellt, u.a. auch mit Javascript, es geht darum, im Text gewisse Textabschnitte auf- und zuzuklappen. Jetzt möchte ich diesen Befehl in Typo3 realisieren, mit dem normalen rte scheint es aber nicht zu gehen:

hier der js-Befehl:

im header:
<script type="text/javascript">   	
function toogle_form(el, id)
{
	if(!document.getElementById || !id || !el) return;
	var obj = document.getElementById(id);
	if(!obj) return;
	obj.style.display = obj.style.display ? '' : 'none';
	el.firstChild.data = obj.style.display ? 'mehr' : 'verbergen' ;    
}</script>

im body:
<span>
bla.....
</span>                      	                
<span id="mehr01" style="display:none">
blabla.....
</span>           
<a onclick="toogle_form(this, 'mehr01')" href="javascript:void(0)">mehr</a>  <br/>          
<hr />

<span>
bla.....
</span>        	                
<span id="mehr02" style="display:none">
blabla.....
</span>           
<a onclick="toogle_form(this, 'mehr02')" href="javascript:void(0)">mehr</a> <br/>           
<hr /> 

etc.

Was bietet Typo3, um so etwas zu realisieren?

Unbekannter Benutzer ·

guck doch mal nach Extensions da gibts bestimmt was passendes. rgaccordion z.B. geht ja in die Richtung.

Javascript im RTE ist sicherlich keine gute Lösung.

ezra ·

danke für den Tipp, ist auf jeden Fall eine sehr schöne und nützliche Extension

eine andere Frage nebenbei: ist es richtig, dass der rte eine simple Anweisung wie style="display:none;" nicht kennt/akzeptiert? denn jedesmal wird es automatisch gelöscht; gibt es nen Trick, das zu umgehen?

Unbekannter Benutzer ·

Man kann den RTE sehr umfangreich (dafür auch sehr kompliziert) konfigurieren. Dabei kannst du auch bestimmte Attribute für Tags erlauben bzw. verbieten. Also möglich ist es schon, aber ich habe da gerade das fertig Script für nicht in der Schublade.. ;-)

ezra ·

ich habe mir die rgaccordion extension angeschaut und etwas ausprobiert, ist aber nicht das was ich wirklich haben will, da ich auch mit Page Template und FCE's arbeite klappt die rgaccordion extension nicht so recht;
im Grunde sind es ja auch nur 2 Stellen (in einem FCE), wo ich einen Text auf- und zuklappen möchte, wenn der RTE schon nicht display:none schlucken will, muss es doch eine andere Lösung geben, einen kleinen Textabschnitt auf- und zuklappen zu lassen, sowas wie readmore und hide button o.ä.

ich habe etliche Foren durchstöbert und nach diversen Stichpunkten gegoogelt, leider ohne Erfolg!!

ezra ·

und wie soll ich das mit meinem oben beschriebenem js umsetzen, diese Seite ist ja schon als FCE und darin sollen die 2 kleinen Textstellen zum auf- und zuklappen sein?

Unbekannter Benutzer ·

Ja, aber die beiden Textstellen stehen doch in einem Textelement wahrscheinlich? Das einfach gegen ein neues FCE tauschen, in dem auch ein Texteditor definiert ist, wie beim normalen Textcontent, das aber das oben beschriebene Javascript mit einbaut.

ezra ·

die beiden Textstellen stehen in einem div-Element, das ich als rich text editor gemappt habe, in dem Texteditor habe ich über die html Ansicht den oben beschriebenen Javascript eingebaut, das klappt ja auch, aber was mir Probleme macht, ist die display:none Anweisung (<span id="mehr01" style="display:none">), die klappt nicht, sie wird einfach wieder rausgelöscht, das muss drin stehen, weil der zugeklappte Text erst mal unsichtbar sein soll!
D.h. das auf- und zuklappen funktioniert, aber die Texte sind schon gleich zu Beginn schon aufgeklappt, das will ich mit display:none an der Stelle unterbinden.

Vielleicht gibt es ja andere Editoren, die mehr Funktionen unterstützen, ich habe leider keinen geeigneten Editoren gefunden, aber evtl. kennst du einen?