Zum Inhalt springen

Zeichenumbruch in Textareas erkennen

Erstellt am 6. April 2006 · 3 Antworten · letzte Antwort am 18. September 2006

Tags: Inhaltselemente, Frage

meister-g ·

Hallo,

ich möchte meine eigene Bullet-List machen - den Standardcontent Bullets möchte ich aber nicht überschreiben.

Ich habe eine schon fertige Variante mit TemplaVoila gemacht (ein eigenes Template mit Sectioncontainer, bei dem man einen Punkt nach dem anderen hinzufügt. Das ist mir aber zu kompliziert, und ich würde es gerne wie die Standardbullets handhaben, indem einfach der Zeilenumbruch in einer Textarea verwendet wird. (Wie auch zb bei der Mailform). Wie erkenne ich einen solchen Zeilenumbruch?

meister-g ·
meister-g schrieb

Hallo,

ich möchte meine eigene Bullet-List machen - den Standardcontent Bullets möchte ich aber nicht überschreiben.

Ich habe eine schon fertige Variante mit TemplaVoila gemacht (ein eigenes Template mit Sectioncontainer, bei dem man einen Punkt nach dem anderen hinzufügt. Das ist mir aber zu kompliziert, und ich würde es gerne wie die Standardbullets handhaben, indem einfach der Zeilenumbruch in einer Textarea verwendet wird. (Wie auch zb bei der Mailform). Wie erkenne ich einen solchen Zeilenumbruch?

habe es nun selber hinbekommen.
ein erfahrener typo3ler sollte das doch wissen und hier posten, ich habe ewig gesucht.

naja, here we go:

tt_content.bullets.20 = TEXT
tt_content.bullets.20 {
  field = bodytext
  wrap = <table border="0" cellpadding="0" cellspacing="0"> | </table><br>
  split {
    token.char = 10
    cObjNum = 1
    1.current = 1
    1.wrap = <TR><TD valign="top"><IMG src="images/punkt.GIF"></TD><TD width ="8"></TD><TD><div id="txt"> | </div></TD></TR>
   }
}

token.char = 10 ist in diesem falle das zeichen für die neue zeile.
das beispiel ist ein neues rendering für bullets

strizzi ·

Danke für deine Recherche!
hat mir sehr geholfen, da ich genau dasselbe Problem hatte beim einem Templavoilafeld.

Nur zur Vollständigkeit hier der Code:

<etype>text</etype>
<typoscript>
<![CDATA[
 10 = TEXT
 10.current = 1
 10.split {
  token.char = 10
  wrap = <li>|</li>
 }
 10.wrap = <ul>|</ul>
#10.postUserFunc =< tx_cssstyledcontent_pi1->render_bullets
]]>
</typoscript>

<proc type="array">
  <hsc type="integer">0</hsc>
</proc>

Wie man sehen kann, war meine erste Überlegung, die Render-Funktion von css styled content zu verwenden (und das sollte doch eigentlich auch irgendwe gehen), naja.

Wichtig auf jeden Fall die Zeile:

<hsc type="integer">0</hsc>

Damit wird der Content nicht nach HTML Code durchsucht und 1:1 rausgerendert.

Vielleicht hilfts ja weiter,
Philipp

olli1705 ·

Hallo Zusammen,

das ganze klappt bei mir leider nicht. Was mache ich falsch?

Gruß,
Olli

CODE DS:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<ROOT type="array">
		<tx_templavoila type="array">
			<title>ROOT</title>
			<description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
		</tx_templavoila>
		<type>array</type>
		<el type="array">
			<field_fce_bullet_list type="array">
				<tx_templavoila type="array">
					<title>Bullet List</title>
					<sample_data type="array">
						<numIndex index="0">[bullet list]</numIndex>
					</sample_data>
					<etype>text</etype>
					<typoscript>
					<![CDATA[
					 10 = TEXT
					 10.current = 1
					 10.split {
					  token.char = 10
					  wrap = <li>|</li>
					 }
					 10.wrap = <ul>|</ul>
					]]>
					</typoscript>
					<proc type="array">
					  <hsc type="integer">0</hsc>
					</proc> 
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>text</type>
						<cols>48</cols>
						<rows>5</rows>
					</config>
					<label>Bullet List</label>
				</TCEforms>
			</field_fce_bullet_list>
		</el>
	</ROOT>
</T3DataStructure>