[TYPO3-german] if maxCharacters

Frank Deutschmann deutschmann at monobloc.de
Thu Apr 28 13:31:14 CEST 2016


Hallo Stefan,


vielen Dank für deine ausführliche Antwort. Ich habe mich für Variante 3. entschieden :)

<f:format.raw>
	<am:string.cropToggle maxCharacters=“150" respectWordBoundaries=“true" append="  ..... [more]“ respectHtml="true“>
		{timer.item.text}
	</am:string.cropToggle>
</f:format.raw>
Iim viewhelper wird die crop-Abfrage erweitert und stellt die Anzahl der Zeichen bereit. Der dann erzeugte Link blendet einfach den Rest des Textes ein - simpel und benutzerfreundlich… :)

Vielen Dank für die Anregung!



> Am 26.04.2016 um 08:38 schrieb Stefan Padberg <post at bergische-webschmiede.de>:
> 
> Am 25.04.2016 um 17:20 schrieb Frank Deutschmann:
>> Hallo Liste,
>> 
>> ich würde gerne etwas in dieser Form in mein Fluid-Template einbinden:
>> 
>> <f:if condition=“{my.item.text}&&{maxCharacters>200}">
>> 	<div class="timeline-body">
>> 	<f:format.crop maxCharacters="200" append="class">
>> 		<f:format.html>{my.item.text}</f:format.html>
>> 	</f:format.crop>
>> 	<button class="morelink"> weiterlesen</button>
>> 	</div>
>> </f:if>
>> <f:if condition=“{my.item.text}&&{maxCharacters<200}">
>> 	<div class="timeline-body">
>> 		<f:format.html>{my.item.text}</f:format.html>
>> 	</div>
>> </f:if>
> 
> Hallo Frank!
> 
> 1.
> Du müsstest einen Viewhelper bauen, der dir die Anzahl der Zeichen eines
> Strings zurückgibt. Dann könntest du darauf abfragen.
> 
> 2.
> Abfragen mit AND. Schau mal hier:
> https://docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/If.html
> 
> Da sind viele Hinweise, wie man so etwas aufbauen könnte
> 
> 3.
> Das ist aber meiner Ansicht nach gar nicht nötig. Gesetzt du hättest
> einen Viewhelper, der die die Zeichenanzahl einen Strings zurückgibt,
> nennen wir ihn myvh:strcnt, dann würde sich folgende Möglichkeit anbieten:
> 
> <f:if condition=“{my.item.text}">
>  <div class="timeline-body">
>    <f:format.crop maxCharacters="200" append="class">
>      <f:format.html>{my.item.text}</f:format.html>
>    </f:format.crop>
>    <f:if condition="{myvh:strcnt( data:'myItemText' )} > 200">
>      <button class="morelink">weiterlesen</button>
>    </f:if>
>  </div>
> </f:if>
> 
> Schön wäre es natürlich, man könnte diesen Button mit dem
> append-Attribut verdrahten, also etwa:
> 
> append="...<button>weiter</button"
> 
> Aber das geht nicht, glaube ich. Vermutlich werden HTML-Tags von Fluid
> nicht durchgelassen.
> 
> 4.
> Du hast damit aber noch nicht das Problem gelöst, dass du ja auch eine
> PID benötigst, auf die du verlinkst. Falls du vorhast, hierfür
> JavaScript einzusetzen, würde ich keinen eignen Viewhelper schreiben,
> sondern das Problem mit JavaScript lösen.
> 
> Beste Grüße
> Stefan
> 
> 
> -- 
> Bergische Webschmiede
> Dipl.-Ing. Stefan Padberg
> TYPO3-Integrator und Webprogrammierer
> :: Borner Str. 18 - 42349 Wuppertal
> :: +49 202 97648355
> :: +49 173 9219845
> :: post at bergische-webschmiede.de
> :: http://www.bergische-webschmiede.de
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list