Ein Nachtrag:

Was ich in dieser Liste sehr spannend finde ist das, was Du ja damit auch 
ansprichst: Es geben viele Leute sehr viel ihrer Zeit her. Mal ganz abgesehen 
vom Hirnschmalz, der schon beim Lesen, interpretieren und im Kopf durchspielen 
notwendig ist, ist der Zeitaufwand, den manche hier in die Codebeispiele 
stecken schon mehr als beachtlich. Das was viele hier geben könnte ich alleine 
schon zeitlich nicht aufbringen, so schade es auch ist. Dafür mal ein dickes 
Danke an diejenigen hier, die ständig Spalier stehen, wenn jemand seine 
Problemchen hat.

Ein schönes Wochenende!

Arne

> Am 23.09.2015 um 21:50 schrieb Dr Dieter Porth <ty...@mobger.de>:
> 
> Am 22.9.2015 um 16:25 schrieb bernd wilke:
>> Am 22.09.15 um 15:22 schrieb Arne-Kolja Bachstein:
>>> Hallo allerseits,
>>> 
>>> ich stehe vor dem Problem, dass ich von der Struktur meines
>>> Extbase-Plugins her so vorgehen möchte, dass ich ein Partial
>>> basierend auf einem dynamischen Wert einbinde. Also, zum Beispiel:
>>> 
>>> <f:render partial="Location/Type/12345" />
>>> 
>>> Dieser Typ basiert auf der ID des Typen in der Datenbank, kann aber
>>> dynamisch hinzugefügt werden. Ich möchte nun, dass für alle
>>> diejenigen Typen, für die ein Partial existiert, dieses eingebunden
>>> wird, aber wenn es nicht existiert soll kein Fehler kommen, sondern
>>> ein Default-Partial eingebunden werden.
>>> 
>>> Ich suche also nach einer Lösung wie
>>> 
>>> <f:if partialExists="Location/Type/12345“>
>>>   <f:then><f:render partial="Location/Type/12345" /></f:then>
>>>   <f:else><f:render partial="Location/Type/Default" /></f:else>
>>> </f:if>
>>> 
>>> Oder, eigentlich schöner:
>>> 
>>> <f:render partial="Location/Type/12345“
>>> fallback="Location/Type/Default“ />
>>> 
>>> Ist Euch ein funktionierender Weg bekannt, für den man nicht hässlich
>>> basteln muss? Oder anders: Wie würdet Ihr hier vorgehen?
>> 
>> wenn du es narrrensicher haben willst wirst du wohl kaum um einen
>> eigenen Viewhelper herum kommen, der überprüft ob ein bestimmtes
>> Partial existiert. ansonsten könnte ich mir Lösungen vorstellen, die
>> aber auch recht komplex sind:
>> 
>> 1:
>> <f:render partial="location/Type{dynWert}" />
>> 
>> wenn {dynwWert} nicht definiert ist wird eben nur Type.html aufgerufen
>> ansonsten zb. Type123.html
>> Nachteil: bei neuen Werten geht es natürlich ins Nirwana
>> 
>> 2.
>> überprüfung in Typoscript:
>> 
>> page.10.variables {
>>    subPartial = TEXT
>>    subPartial {
>>        value = default
>>        override.field = dyn_wert
>>        override.stdWrap.if.isTrue.cObject = TEXT
>>        override.stdWrap.if.isTrue.cObject {
>>            field = dyn_wert
>>            wrap = path_EXT:my_ext/Resources/Private/Templates/|.html
>>        }
>>        wrap = path_EXT:my_ext/Resources/Private/Templates/|.html
>>    }
>> }
>> 
>> <f:render partial="{subPartial}" />
>> 
>> 3.
>> das gleiche als TS-VH:
>> 
>> lib.subPartial = TEXT
>> lib.subPartial {
>>    value = default
>>    override.current = 1
>>    override.stdWrap.if.isTrue.cObject = TEXT
>>    override.stdWrap.if.isTrue.cObject {
>>        current = 1
>>        wrap = path_EXT:my_ext/Resources/Private/Templates/|.html
>>    }
>>    wrap = path_EXT:my_ext/Resources/Private/Templates/|.html
>> }
>> 
>> 
>> <f:render
>> partial="{dynWert->f:cObject(typoscritpObjectPath:'lib.subPartial')}" />
>> 
>> (das ganze ist jetzt nicht getestet, sollte aber so oder ähnlich
>> funktionieren)
>> 
>> bernd 
> Hallo Arne,
> 
> Ich persönlich favorisiere für kleine Templates immer Bernds Variante 1
> in abgewandelter Form nutzen
> <f:render partial="location/Type/default{dynWert}" /> 
> weil ich .html-Dateien nicht wirklich schön finden. Statt
> 12345.html-Partials müsste man dann natürlich default12345.html partials
> definieren.
> Um das Risiko der undefinierten Partials für bestehende UID-Zahlen
> besteht auch hier. Hier würde nur eine f:if-Bedingung helfen, die prüft,
> ob ein Partial existiert.
> Analog wie in Beispiel 3 von Bernd könntest du eine inline-Variante des
> f:render-Viewhelper in der f:if-Condition verwenden.
> 
> Wenn du Probleme bei der Erstellung der Inline-Codes hast, helfe ich dir
> gerne, wenn du deine Fehlerversuche präsentierst und deine Gedankengänge
> schilderst.
> Ich habe hier im Forum auch schon bei anderen das eine oder andere Mal
> eine sehr unhöfliche Abstaubermentalität erlebt, die ich mit meiner Zeit
> nicht unterstützen will.
> 
> 
> Anmerkung: Die Varianten 2 und 3 werden trotz funktionierenden
> TypoScript wohl schieflaufen, weil die per TypoScript definierten Pfade
> vermutlich nicht innerhalb des Partial-Verzeichnis zu finden sein
> werden. Auch schützen die beiden Varianten schützen nicht vor
> undefinierten Partials.
> 
> 
> Dieter
> 
> -- Dr. Dieter Porth - Mein kleines TYPO3-Labor: http://www.mobger.de/
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an