Link-Feld: CSS-Klasse hinzufügen mittels Fluid

Sinn und Zweck: aus dem Link-Feld des Backends (in dem neben der Zielseite auch target-, CSS-Klasse und title-Attribut stehen kann) den Wert an Link-Viewhelper übergeben, dabei aber eine zusäztliche CSS-Klasse anhängen.

<vhs:if.string.isNumeric value="{field.link}">
  <f:then>
    <dce:typolink parameter="{field.link} - link" />
  </f:then>
  <f:else>
    <dce:typolink parameter="{vhs:format.regularExpression(pattern: '/^([^ ]+)\s+([^ ]+)((\s+-)|(\s+[^ ]*)) (.+)/Ui', replacement: '\1 \2 \"link\5\" \6', subject: '{field.link}')}" />
  </f:else>
</vhs:if.string.isNumeric>

Update 2014-04-07

Nette Idee, aber die Tücken liegen wie so oft im Detail. Die Kombinationsmöglichkeiten aus internem Link/externem Link, Linkziel (target) gegeben/nicht-gegeben, Linktitle gegeben/nicht-gegeben und CSS-Klasse gegeben/nicht-gegeben ergeben, sind derart groß, dass der reguläre Ausdruck von oben doch nicht immer greift (z.B. falls nur eine externe URL gegeben ist).

Hinterlasse einen Kommentar.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.