[TYPO3-german] ViewHelper-Rckgabe erneut in FLUID rendern?

Dr. Dieter Porth web37p2 at web59550.greatnet-hosting.de
Wed Jul 26 20:16:02 CEST 2017


Hallo Manuel,

Am 26.07.2017 um 10:07 schrieb Manuel Raaf:
> Das Konzept ist mir bekannt, aber es bremst einen an vielen Stellen 
> leider total aus, wenn man sich strikt daran hält. Außerdem bedeutet 
> es einen uuuuuuunglaublichen Mehraufwand in solchen Fällen. 
> Wirtschaftliches Entwickeln ist das absolut nicht. 
Wenn es dich an einigen Stellen ausbremst, dann ist im Vorfeld schon an 
der Konzeption oder Planung der Programmierung etwas übersehen worden.  
Dann ist schon im Vorfeld Zeit gespart worden, die man später doppelt 
und dreifach bezahlt.
Ein guter Händler weiß: "Wer billig kauft, zahlt zweimal."

> Deswegen weiche ich an ein paar Stellen ganz bewusst davon ab - 
> solange im ViewHelper der Zugriff auf ein Repository und dessen 
> Funktionen nicht verboten wird, wird das auch nie ein Problem werden.
Ich glaube nicht, dass es verboten wird. Aber je mehr Logik in den 
Templates verdrahtet ist, desto beschissener sind spätere Anpassungen, 
weil dank des täglichen Zwangs zur Kraut&Rüben-Programmierung immer mehr 
Abhängigkeiten zu beachten sind.
  Ein guter Händler weiß: "Wer billig kauft, zahlt zweimal."

> Was ich möchte, ist ja eigentlich nichts anderes als ein str_replace, 
> nur eben so, dass $replacement wieder gerendert wird. Klingt sehr 
> einfach, aber TYPO3 macht es aus "Sicherheitsgründen" sehr schwer. Das 
> Verhindern solcher Endlosschleifen muss der Job des Entwicklers sein, 
> nicht der des Frameworks.
Ich bin froh über jedes vernünftige Korsett, die mich daran hindert, 
dummes Zeug zu machen, und mir hilft, mich auf das Wesentliche zu 
beschränken. Die Domains sind oft schon komplex genug, so dass ich gern 
auf überflüssige zusätzliche Stolperfallen verzichten kann.
> Danke, ich werde mir mal DataProcessing ansehen und andernfalls im 
> Logikteil auf sehr umständliche Art ein neues Objekt erstellen, das in 
> FLUID dann gesondert behandelt wird. Das bedeutet für diese einfache 
> Aufgabe dann einen ganzen Vormittag Arbeit...
Im Prinzip ist das Dataprocessing nur eine Klasse, die dem Template 
automatisiert zusätzliche Variablen zur Verfügung stellt. Im Data 
Processingt kannst du den Kram machen, den du bisher in deinem 
Viewhelper machst. Etwas gewöhnungsbedürftig ist nur die Form der 
referenzierten Datenübergabe.
Sind Recherchen eigentlich wirtschaftlich?
Ein guter Händler weiß: "Das Bessere ist der Tod des Guten."
> Falls zwischenzeitlich jemand eine andere Lösung hat...nur her damit :)
> Viele Grüße,
> Manuel
Du konntest deinen zusätzlichen Link doch auch vom Javascript generieren 
lassen, indem du per Ajax nachfragst, ob der Link existiert. Wenn das 
wirtschaftlicher ist, .... Schlampig wäre es auf jeden Fall - meistens. 
*lol* (nicht ernst gemeint)

Oder du nutzt f:cObject, schreibt ein bescheiden testbare 
Typoscript-Object mit der Replacement-Funktion und übergibst deinen 
generierten String als Argument.
https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Replacement/Index.html
Dein Code wird damit nicht pflegbarer; aber vielleicht ist es ja 
wirtschaftlicher - zumindest kurzfristig, wenn du dich mit TypoScript 
auskennst. ;-)

Mit besten Grüßen
      Dieter


----
Dr. Dieter Porth - Web-Entwickler



More information about the TYPO3-german mailing list