Nettoyage - pourquoi comment
De Typo3 CMS / Documentation Typo3 / Support Typo3.
Dans les static templates incluses par défaut via tt_content et css_styled_content il reste pas mal de mise en forme datant des anciennes versions de Typo3. Cette mise en forme n'est plus nécessaire et pose quelques soucis de rendu, notamment des images transparentes "clear.gif", des div englobants et des sauts de ligne inutiles.
Voici de quoi nettoyer ça, à utiliser dès qu'on démarre un nouveau site (!) :
################################
// Nettoyage - rendu par défaut
################################
// <p> et non pas <p class="bodytext">
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class >
// <a name="id du contenu"></a> -> pour enlever ces ancres décommenter la ligne suivante :
//tt_content.stdWrap.dataWrap >
// idem, si le site est multilingue :
//tt_content.stdWrap.prepend.dataWrap >
// clear.gif après le header
lib.stdheader.stdWrap.space>
// clear.gif après le contenu
tt_content.stdWrap.space>
// br après le header
lib.stdheader.10.stdWrap.wrap >
// class= du header
lib.stdheader.3.headerClass >
// le div autour du header
lib.stdheader.stdWrap.dataWrap =
//headers par défaut (liste du RTE)
lib.stdheader.10.2.fontTag=<h2{register:headerStyle}>|</h2>
lib.stdheader.10.3.fontTag=<h3{register:headerStyle}>|</h3>
lib.stdheader.10.4.fontTag=<h4{register:headerStyle}>|</h4>
lib.stdheader.10.5.fontTag=<h5{register:headerStyle}>|</h5>
En ce qui concerne le fameux p class="bodytext", il y a toutefois une réserve à émettre :
dans le cas d'une génération d'une newsletter au format html, il est pratique si on veut un rendu correct dans les webmails divers et variés de ne pas inclure css_styled_content dans le template TypoScript utilisé.
Typiquement, le placement des images dans le flux de texte, obtenu via css avec css_styled_content n'est que rarement rendu dans un webmail, alors qu'avec l'ancienne méthode (rendu par tableaux) il sera restitué correctement.
Dans ce cas le code proposé ci-dessus ne fonctionne pas et le rendu donnera un p style="margin:0pt;"
Pour obtenir un rendu spécifique, le code est le suivant :
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes.P>
ou encore, par exemple :
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes.P.style=margin:5px 0;
Attention !
au vu des mises à jours et des diverses montées de versions qu'à connu TYPO3, ce code n'est plus forcément utile - en tout pas toutes les lignes.
Notamment depuis la version 4.5.4, les lignes suivantes ne sont plus correctes, ni d'ailleurs nécessaires :
//headers par défaut (liste du RTE)
lib.stdheader.10.2.fontTag=<h2{register:headerStyle}>|</h2>
lib.stdheader.10.3.fontTag=<h3{register:headerStyle}>|</h3>
lib.stdheader.10.4.fontTag=<h4{register:headerStyle}>|</h4>
lib.stdheader.10.5.fontTag=<h5{register:headerStyle}>|</h5>
Selon cet article : http://wiki.typo3.org/wiki/TYPO3_4.5.4
Cela donne, après vérification :
################################ // Nettoyage - rendu par défaut ################################ // <p> et non pas <p class="bodytext"> lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class > // class= du header lib.stdheader.3.headerClass > // le div autour du header lib.stdheader.stdWrap.dataWrap =
