Zum Inhalt springen

Select Box in FCE auslesen?

Erstellt am 14. März 2007 · 11 Antworten · letzte Antwort am 5. Juni 2007

Tags: Frage

lorrey ·

Hallo!

Ich würde gerne mein Bild mit einer CSS Klasse besetzen, dafür habe, ich mir eine Select Box ins FCE gebaut - leider gibt er mit folg. Code nur den Namen des Feldes aus und nicht deren Inhalt im HTML Code aus

Also im Code steht dann "field:bild_align" statts "bild-rechts"

#angry#

<?xml version="1.0" encoding="iso-8859-1" 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">
			<ueberschrift type="array">
				<tx_templavoila type="array">
					<title>Überschrift</title>
					<sample_data type="array">
						<numIndex index="0">Ich bin Blindtext</numIndex>
					</sample_data>
					<eType>input</eType>
					<proc type="array">
						<HSC type="integer">1</HSC>
					</proc>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>input</type>
						<size>48</size>
						<eval>trim</eval>
					</config>
					<label>Überschrift</label>
				</TCEforms>
			</ueberschrift>
			<text type="array">
				<tx_templavoila type="array">
					<title>Text</title>
					<sample_data type="array">
						<numIndex index="0">Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein:</numIndex>
					</sample_data>
					<eType>rte</eType>
					<TypoScript>
&lt;![CDATA[
	10 = TEXT
	10.current = 1
	10.parseFunc = &lt; lib.parseFunc_RTE
        10.parseFunc &lt; tt_content.text.20.parseFunc
]]&gt;
							</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>
					<defaultExtras>richtext[*]:rte_transform[flag=rte_enabled|mode=ts_css]</defaultExtras>
					<label>Text</label>
				</TCEforms>
			</text>
			<bild type="array">
				<tx_templavoila type="array">
					<title>Bild</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>image</eType>
					<TypoScript>
<![CDATA[
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 220
10.altText.field = bildalttext
10.titleText.field = bildttitletext
10.params = class="{field:bild_align}"
10.params.insertData = 1
                         ]]>
							</TypoScript>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>group</type>
						<internal_type>file</internal_type>
						<allowed>gif,png,jpg,jpeg</allowed>
						<max_size>1000</max_size>
						<uploadfolder>uploads/tx_templavoila</uploadfolder>
						<show_thumbs>1</show_thumbs>
						<size>1</size>
						<maxitems>1</maxitems>
						<minitems>0</minitems>
					</config>
					<label>Bild</label>
				</TCEforms>
			</bild>
			<bild_align type="array">
				<type>no_map</type>
				<tx_templavoila type="array">
					<title>Bildausrichtung</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>select</eType>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">rechts</numIndex>
								<numIndex index="1">bild-rechts</numIndex>
							</numIndex>
	<numIndex index="1" type="array">
								<numIndex index="0">links</numIndex>
								<numIndex index="1">bild-links</numIndex>
							</numIndex>						</items>
						<default>0</default>
					</config>
					<label>Bildausrichtung</label>
				</TCEforms>
			</bild_align>
			<bildalttext type="array">
				<type>no_map</type>
				<tx_templavoila type="array">
					<title>Bild Alt Text</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>input</eType>
					<proc type="array">
						<HSC type="integer">1</HSC>
					</proc>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>input</type>
						<size>48</size>
						<eval>trim</eval>
					</config>
					<label>Bild Alt Text</label>
				</TCEforms>
			</bildalttext>
			<bildttitletext type="array">
				<type>no_map</type>
				<tx_templavoila type="array">
					<title>Bild Title Text</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>input</eType>
					<proc type="array">
						<HSC type="integer">1</HSC>
					</proc>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>input</type>
						<size>48</size>
						<eval>trim</eval>
					</config>
					<label>Bild Title Text</label>
				</TCEforms>
			</bildttitletext>

		</el>
	</ROOT>
</T3DataStructure>

Was mache ich falsch?

Wie kann ich den Inhalt aus dem Selectfeld auslesen?!?

Besten dank!

anj ·

sollte eigentlich funktionieren.. ich könnte mir vorstellen das "params" von IMAGE dir den Strich durch die Rechnung macht. Dieses Beispiel z.B. funktioniert auf jeden Fall:

Hierbei wird aber in "parameter" von Typolink "insertData" auf 1 gesetzt. Gibt es überhaupt die Option IMAGE.params.insertData = 1 ??

20 = IMAGE
20{
file = fileadmin/meinBild.jpg
imageLinkWrap = 1
imageLinkWrap {
 enable = 1
 typolink{
  title = Blinklist
  parameter = http://ziel.de/go.php&Url={field:field_url}
  parameter.insertData = 1 
  wrap = <li> | </li> 
 }
 }
}
Liberation ·

Beispiel TS:

#
			<field_layout type="array">
				<type>attr</type>
				<tx_templavoila type="array">
					<title>Layout</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>select</eType>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">Layout 1</numIndex>
								<numIndex index="1">fce-3-spalten layout1</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">Layout 2</numIndex>
								<numIndex index="1">fce-3-spalten layout2</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">Layout 3</numIndex>
								<numIndex index="1">fce-3-spalten layout3</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">Layout 4</numIndex>
								<numIndex index="1">fce-3-spalten layout4</numIndex>
							</numIndex>
						</items>
						<default>fce-3-spalten layout1</default>
					</config>
					<label>Layout</label>
				</TCEforms>
			</field_layout>

Du musst die box nur richtig mappen im TV dann läuft das auch 🙂

lorrey ·

@anj: ja IMAGE.params.insertData = 1 sollte es geben, zumindest kann ich so den wert manuell setzen...

@liberation: welche "box" meinst du denn, ich versteh es leider nicht :-(

also wenn ich den wert der select zb in den image alt tag schreiben geht es problemlos - ich versteh es nicht!

lorrey ·

?!?

und was kann man da richtig oder falsch mappen?!?
Btw, sie ist gar nicht gemappt - warum auch?

Oder steh ich hier grad voll auf dem Schlauch #paralyzed#

Liberation ·

Also wenn ich css style auswahlboxen in fce´s einbaue mappe ich meine selectbox als Attribut auf das entsprechende element. Bei Bir eben das Bild.

lorrey ·

Ok, wir reden aneinander vorbei 😉

ich baue mein image selbst zusammen mit all den Attributen - das ganze img tag ist als outer gemappt!

Von daher gibt es keine Attribute mehr zu mappen und das will ich nicht!

Muss doch irgendwie so gehen?

Kann man vielleicht ein Text Object passend formartieren und dann dem img param übergeben?!?

Liberation ·

Dann mapp Dein css selector doch eine ebene höher auf z.b. ein div das um dem img greift.

Dann kannst Du das img doch auch direkt ansprechen im css.

.bild-links img {
align: left;
}

eventuell gibst Du deinem img noch ein standart klasse mit.

.bildklasse {
border: 1px solid black;
}

.bild-links img.bildklasse {
align: left;
}

.bild-rechts img.bildklasse {
align: right;
}

lorrey ·

geht nicht!
wenn kein image da ist, hab ich einen leeren div container - genau so wie ich bei der attribut variante zb leere alt oder title tags hätte, wenn nicht vorhanden...

thats the problem 😉

Liberation ·

Das geht schon, man kann ja abfragen ob ein bild da ist:

(beispiel)

#

			<field_headpicture type="array">
				<tx_templavoila type="array">
					<title>Head Picture</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>ce</eType>
					<TypoScript>
						10.if.isTrue.field = field_headpicture
						10= RECORDS
						10.source.current=1
						10.tables = tt_content
						10.wrap = |

						20.if.isFalse.field = field_headpicture	
						20 = IMAGE
						#20.params = class="test22"
						20.file = GIFBUILDER
						20.file {
							XY = 534,100
							format = jpg
							10 = IMAGE
							10.file = fileadmin/template/img/header-default.jpg
							10.file.maxW = 534
							10.file.minW = 534
							10.file.maxH = 100
							10.file.minH = 100
						}
		        	            </TypoScript>
					<oldStyleColumnNumber type="integer">0</oldStyleColumnNumber>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>group</type>
						<internal_type>db</internal_type>
						<allowed>tt_content</allowed>
						<size>5</size>
						<maxitems>200</maxitems>
						<minitems>0</minitems>
						<multiple>1</multiple>
						<show_thumbs>1</show_thumbs>
					</config>
					<label>Head Picture</label>
				</TCEforms>
			</field_headpicture>

Ausserdem ist es der css klasse doch egal ob da ein img ist oder nicht und wozu ein leeres div? Du könntest die klasse doch auch jedes xbelibige div mappen das das img einschiesst.

lorrey ·

also ich verstehe es leider immer noch nicht :o

es muss doch möglich sein, wenn ich dem redakteur eine select box zur auswahl stelle, diesen wert direkt per ts zu verarbeiten?!?

hat das wirklich so noch keiner gemacht?