Fluid: ViewHelper für Links [Gelöst]

  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    29. 07. 2011, 11:54

    Hallo zusammen

    Im Typo3 Backend gibt es ja den Browse_Link Wizard. Dort wo gewählt wird ob ein Link extern, intern, mail etc. sein soll. Gibt es dafür einen Viewhelper in Fluid? Oder wie realisiere ich das am besten?

    Gruss Coreblade

  • Hilfreichster Beitrag

  • oegel oegel
    TYPO3-Anwärter
    1 x
    4 Beiträge
    2 Hilfreiche Beiträge
    30. 10. 2013, 18:05 - Hilfreichster Beitrag

    Hallo zusammen,

    ich habe das jetzt über den Fluid ViewHelper format.html + link Tag gelöst:

    1. <f:format.html><link {field.linkUrl}>{field.linkText}</link></f:format.html>

    Da werden auch _blank, CSS-Klasse und Titel mit übernommen. Der Typ ist dann egal.


  • 1
  • Eydamos Eydamos
    Padawan
    0 x
    54 Beiträge
    0 Hilfreiche Beiträge
    29. 07. 2011, 13:13

    Du musst schon selber wissen was für eine Art von Link du übergibst und musst dann entsprechend link.page, link.external oder link.email nutzen.

  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    29. 07. 2011, 13:17

    Kann ich den den Link-Browser anpassen, dass nur externe erlaubt sind? Und bei Extern setzt er ja in das Text feld bei "in neuem Fenster" "www.google.ch _blank". das kann ja der link.external nicht interpretieren oder?

  • Eydamos Eydamos
    Padawan
    0 x
    54 Beiträge
    0 Hilfreiche Beiträge
    29. 07. 2011, 15:43

    Hmm mir fällt gerade auf das ich das dynamisch noch garnicht gemacht habe, bis jetzt waren meine Extensions immer so, dass klar war das es immer ein externer bzw. interner link sein muss.

    Als einzigstes würde mir sonst adhock einfallen, das du es über das cObject viewHelper machst und den link dann an die typolink eigenschaft übergibst. Dann wird das entsprechend dynamisch gerendert.

  • MorphexX MorphexX
    Padawan
    0 x
    46 Beiträge
    0 Hilfreiche Beiträge
    20. 08. 2012, 22:51

    Ich stehe gerade vor exakt dem selben Problem.

    Der Nutzer hat in meiner Extension die Möglichkeit, sowohl eine interne Page ID, als auch eine URL anzugeben.

    Wo ich da genau anfange, kann ich mir gerade gar nicht ausmalen. Gibt es vielleicht die eine oder andere Person, die für diesen Zweck einen flexiblen ViewHelper geschrieben hat oder diesen Fall durch Conditions lösen konnte?

  • MorphexX MorphexX
    Padawan
    0 x
    46 Beiträge
    0 Hilfreiche Beiträge
    22. 08. 2012, 23:39

    So, fertig.

    In den FlexForms meiner Extension habe ich im Table Configuration Array den Link Wizard eingebaut und dazu den folgenden ViewHelper geschrieben:

    https://github.com/andyhausmann/TYPO3_Extension_FlexSlider/blob/master/Classes/ViewHelpers/DynLinkViewHelper.php

    Aktuell nimmt er nur einen Parameter entgegen: link.

    Beispiel Fluid-Call:

    <fs:DynLink arguments="{link: slide.link}">
    <span>HTML Content</span>
    </fs:DynLink>

    Es ist in Fluid NICHT notwendig erst via Condition auf Inhalt zu prüfen - das macht der ViewHelper schon. Wenn der Parameter leer ist, rendert der ViewHelper einfach den HTML Content.

    Viel Spaß damit.

  • oegel oegel
    TYPO3-Anwärter
    1 x
    4 Beiträge
    2 Hilfreiche Beiträge
    30. 10. 2013, 18:05

    Hallo zusammen,

    ich habe das jetzt über den Fluid ViewHelper format.html + link Tag gelöst:

    1. <f:format.html><link {field.linkUrl}>{field.linkText}</link></f:format.html>

    Da werden auch _blank, CSS-Klasse und Titel mit übernommen. Der Typ ist dann egal.

  • 1