[TYPO3-german] Editor mit Syntax Highlighting Fluid

Markus markusd112 at web.de
Mon Oct 6 05:23:24 CEST 2014


Am 05.10.14 20:50, schrieb Dr Dieter Porth:

> 7.) Nachsatz: Vielleicht ist aber auch nur dein Lösungsansatz
> hinterfragenswert.
> Eine komplexe, unübersichtliche Logik im Template ist oft ein Indiz
> dafür, dass du mehr als nur den 'View' im View-Objekt "Template"
> implementieren willst.
> Eine Programmlogik sollte vordringlich im Controller, in einer
> User-Funktion, in einer Extension oder im TypoScript verdrahtet sein.
> Also bleibt als letzte Heuristik noch:
> => Überlegen, welchen eleganteren und/oder allgemeineren Lösungsweg es
> gibt?  (Die Frage nach dem Ob stellt sich fast nie.)

Hallo Dieter,

Danke für die vielen Tipps zu Alternativen, um den Code übersichtlich zu 
bekommen. Das werde ich mir anschauen und beherzigen.

Es geht im konkreten Fall einfach darum, das Template von tx_news zu 
erweitern: ich möchte ein zusätzliches templateLayout definieren und 
dieses muss in der Template-Datei als if-condition abgefragt werden.

Die original Template-Datei von tx_news ist aber schon (für mich) recht 
verschachtelt, so dass mich schon diese einfache Aufgabe zu diesem 
Hilferuf nach einem besseren Editor (der mir z.B. optisch bei einem 
schließenden/öffnenden Tag optisch anzeigt, wo das entsprechende 
Gegenstück im Code zu finden ist) veranlasst hat.

Viele Grüße

Markus


{namespace n=Tx_News_ViewHelpers}
<f:layout name="General" />
<!--
	=====================
		Templates/News/List.html
-->

<f:section name="content">
	<f:if condition="{news}">
		<f:then>
			<div class="news-list-view">

                        <f:if condition="{settings.templateLayout} == 2">
                             <f:then>
                                 <f:for each="{news}" as="newsItem">
                                     <f:render partial="List/ItemEinsaetze"
                                               arguments="{newsItem: 
newsItem, settings:settings}"/>
                                 </f:for>
                             </f:then>
                          <f:else>

				<f:if condition="{settings.hidePagination}">
					<f:then>
                         <f:if condition="{settings.templateLayout} == 1">
                             <f:then>
                                 <f:for each="{news}" as="newsItem">
                                     <f:render partial="List/ItemLatest"
                                               arguments="{newsItem: 
newsItem, settings:settings}"/>
                                 </f:for>
                             </f:then>
                             <f:else>
                                 <f:for each="{news}" as="newsItem">
                                     <f:render partial="List/Item" 
arguments="{newsItem: newsItem, settings:settings}"/>
                                 </f:for>
                             </f:else>
                         </f:if>

                         <f:if condition="{settings.templateLayout} == 2">
                             <f:then>
                                 <f:for each="{news}" as="newsItem">
                                     <f:render partial="List/ItemEinsaetze"
                                               arguments="{newsItem: 
newsItem, settings:settings}"/>
                                 </f:for>
                             </f:then>
                          </f:if>

					</f:then>
					<f:else>
						<n:widget.paginate objects="{news}" as="paginatedNews" 
configuration="{settings.list.paginate}" 
initial="{offset:settings.offset,limit:settings.limit}">
                             <f:if condition="{settings.templateLayout} 
== 1">
                                 <f:then>
                                     <f:for each="{paginatedNews}" 
as="newsItem">
                                         <f:render partial="List/ItemLatest"
                                                   arguments="{newsItem: 
newsItem, settings:settings}"/>
                                     </f:for>
                                 </f:then>
                                 <f:else>
                                     <f:for each="{paginatedNews}" 
as="newsItem">
                                         <f:render partial="List/Item"
                                                   arguments="{newsItem: 
newsItem, settings:settings}"/>
                                     </f:for>
                                 </f:else>
                             </f:if>

                             <f:if condition="{settings.templateLayout} 
== 2">
                             	<f:then>
                                 <f:for each="{news}" as="newsItem">
                                     <f:render partial="List/ItemEinsaetze"
                                               arguments="{newsItem: 
newsItem, settings:settings}"/>
                                 </f:for>
                             	</f:then>
                          		</f:if>

						</n:widget.paginate>
					</f:else>
				</f:if>
			</f:else>
			</f:if>
			</div>
		</f:then>
		<f:else>
			<div class="no-news-found">
				<f:translate key="list_nonewsfound" />
			</div>
		</f:else>
	</f:if>
</f:section>



More information about the TYPO3-german mailing list