Zum Inhalt springen

Template wird nicht vollständig angezeigt

Erstellt am 28. Mai 2014 · 2 Antworten · letzte Antwort am 25. Februar 2015

Tags: Fluid, Frage

mstegner ·

Hallo.
Ich habe ein paar Anfängerprobleme mit typo3 flow.

Ich habe ein Template welches ein Datenblatt mit mehreren Selectboxen und Textfeldern in einer Zeile erzeugt.
Das Ganze funktioniert soweit ganz gut; jedoch wird am Ende des Templates ein Stück abgeschnitten. Den Teil mit „1234 das ist das ende“ habe ich angehängt damit nichts Wichtiges verloren geht. Wenn ich die Schleife welche die Option für die Selectbox erzeugt weglasse wir der Text „das ist das ende“ angezeigt. Mit der Schleife wird aber nach der 3 Abgeschnitten.

Kann mir jemand einen Tipp geben was ich Falsch mache?
Danke im Voraus.

<f:layout name="Default" />
<f:section name="Content">
	<table>
		<tr>
		<f:for each="{headline}" as="headlinep">
			<td> - {headlinep}  - </td> 
		</f:for>
		</tr> 
		<f:for each="{datalines}" as="dataline">
			<tr> 

			<input type="hidden" id="{dataline.parent_id}" value="{dataline.parent_value}" >

			<input type="hidden" id="{dataline.sess_id}" value="{dataline.sess_value}">
			
			<f:for each="{dataline.fieldlist}" as="field">
				<f:if condition="{field.count_punktoptions}">
				<f:then>	


						<td>  <select  class="{field.GopSelectName}"  id="{field.fild_id}">
						<f:for each="{field.GopSelect}" as="option">
							<option 
							<f:if condition="{option.2}">
							<f:then>	
								selected="selected" 
							</f:then>
							</f:if>
							value="{option.0}"> {option.1} </option> 
						</f:for>	

						</select></td>

					
				</f:then>	
				<f:else>

					<td>
					<textarea  class="{field.class}"  id="{field.fild_id}" cols="30" rows="{field.row_count}" style="{field.style}" >{field.value}</textarea>
					</td>
				</f:else>
				</f:if>

			
			</f:for>
			</tr>
			<tr>
			
			<input type="hidden" id="{dataline.Gids_name}" value="{dataline.Gids}"> 
			<td> <input type="button" value="Speichern" id="{dataline.Gsave_name}"> </td>
			<td> <input type="button" value="Zeile l&ouml;schen" id="{dataline.Gdel_name}"> 
			</td>

			</tr> 
		
			<![CDATA[<script> boxSave(
			]]>{dataline.boxSave.0}<![CDATA[,
			]]>{dataline.boxSave.1}<![CDATA[,
			"]]>{dataline.boxSave.2}<![CDATA[",
			"]]>{dataline.boxSave.3}<![CDATA["); 
			</script> ]]>
		</f:for>

		<tr>
		<td>
		
		
		<input type="button" value="Neue Zeile" id="Gsave_{thema}_{frage}_new"> 	
		<![CDATA[<script>  boxAddLine( ]]>{thema}<![CDATA[ , ]]>{frage}<![CDATA[ );  </script>]]>  

		
		
		</td></tr>

		
	</table> 
	1
	2                                                                                                                     
	3																													                            
	4																																						
 das ist das ende
</f:section>
Unbekannter Benutzer ·

Ich weiß nicht, ob es was damit zu tun hat, aber wenn du Fluid quasi inline verwendest, solltest du auch die Inline-Notation verwenden. Könnte mir vorstellen, dass es da Probleme gibt, wenn du im Option Tag den if-Viewhelper einfach so reinschreibst.

{f:if(condition: '{option.2}', then: 'This..', else 'That...') }

Müsste das lauten.
Ansonsten probier:

<f:for each="{field.GopSelect}" as="option">
	<f:if condition="{option.2}">
		<f:then>	
			<option selected="selected" value="{option.0}">{option.1}</option>
		</f:then>
		<f:else>
			<option value="{option.0}">{option.1}</option>
		</f:else>
	</f:if>	
</f:for>
mstegner ·

Hallo,

ich hatte das Problem in zwischen gefunden: ich hatte in einer Schleife ein Leerzeichen ausgegeben. Bei der Ausgabe hat die Anzahl der Leerzeichen am Ende gefehlt.