Création d'un lien avec TypoScript

La création d'un lien en TypoScript est utile lorsqu'on souhaite injecter des textes rapidement directement depuis un gabarit (par exemple le pied de page). Différentes technique sont présentées.

 

Création d'un lien avec typolink

Le code suivant créera un lien avec un attribut id égal à buy et une url pointant sur la page dont l'uid est 60 :

lib.ecommerce = TEXT
lib.ecommerce.value = Acheter
lib.ecommerce.typolink.parameter=60
lib.ecommerce.typolink.ATagParams=id="buy"

  • Avantages : rapide à utiliser, et flexible à condition d'avoir une bible TypoScript sous la main.
  • Désavantages : La fonction s'applique à l'ensemble d'un text et ne sera pas adaptée à l'éventualité où seul une section de texte doit être transformée en lien.

Création d'un lien avec parseFunc du RTE

Le code suivant créera un lien externe autours du texte "Cliquer ici"  avec un attribut class égal à "external-link-new-window" :

lib.ecommerce = TEXT
lib.ecommerce.value (
Bienvenue sur mon ecommerce,
< link www.adaltas.fr - external-link-new-window "Commander" >Cliquer ici < /link> pour commander
)
lib.ecommerce.parseFunc < tt_content.text.20.parseFunc

  • Avantages : Le code est facile et rapide à utiliser. De plus on bénéficie de toutes les fonctionnalités du RTE
  • Désavantages : La dépendace au RTE entraîne la génération d'un bon nombre de code quelquefois mal venu ou inutile.

Création d'un lien avec parseFunc personnalisée

Le code suivant créera un lien externe autours du texte "Cliquer ici"  avec un attribut class égal à "external-link-new-window" :

lib.ecommerce = TEXT
lib.ecommerce.value (
Bienvenue sur mon ecommerce,
< link www.adaltas.fr - external-link-new-window "Commander" >Cliquer ici < /link> pour commander
)
lib.ecommerce.parseFunc {
   tags {
     link = TEXT
     link {
       current = 1
       typolink.extTarget =
       typolink.target=
       typolink.parameter.data = parameters : allParams
     }
   }
}

  • Avantages : Génère exactement ce qui est nécesaire
  • Désavantages : Un peu long