Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...HTML dans le titre de modulesHTML dans le titre de modules
Précédente
 
Suivante
Nouveau message
28/12/2012 16:28
 

Bonjour,

Je viens de faire une upgrade d'un portail de la version 4.9.3 à la version 6.2.5. Aucun problème pour l'upgrade.

Je me suis rendu compte d'un problème pour certains modules (modules standards et perso).
Leur titre comporte du HTML, du genre "<br>Titre du module<br><br>".
En 4.9.3, ce HTML était bien interprété. Maintenant en 6.2.5, le HTML n'est pas interprété, il est affiché comme du texte normal.

Quelqu'un aurait'il déja rencontré ça ? Auriez-vous une solution/contournement à ça ?
Merci d'avance

Bonnes fêtes à tous

 

 
Nouveau message
29/12/2012 15:20
 

Bonjour,

Il ne faut jamais mettre du code HTML dans les titres, même dans l'éditeur de texte il est préférable de définir des styles et de les appliquer au texte. Du coup, tout deviens plus simple car il suffit de créer des classes CSS dans la bonne feuille de style pour obtenir ce que l'on veut. C'est le principe de la séparation de contenu et de présentation.

Dans DNN, chaque page peut se voir appliquer un thème (skin), ainsi que chaque module (container). Chaque skin et container peut avoir une feuille de style générale et une feuille de style spécifique. Ceci permet une très grande souplesse au niveau des styles, en contrepartie cela fait plusieurs feuilles de styles à charger. De fait, certain graphistes prefèrent placer tous les styles dans la feuille portal.css. Chacun fait comme il veut ! :-)

Par défaut dans DNN 6.x le skin DarkKnight (...\Portals\_default\Containers\DarkKnight) possède une dizaine de containers, dont trois principaux sont utilisés pour les modules Text/HTML (PageTitle_Blue.ascx, PageTitle_Gray.ascx et PageTitle_Red.ascx). Les titres de modules héritent généralement de la classe Head, il suffit donc de modifier la/les définitions faisant référence à cette classe dans le fichier container.css pour qu'automatiquement tous les modules changent leur apparence en conséquence.

Puisque tu as ce problème sur certains modules seulement, je supose que la personne qui a ajouté ces <br/> voulait ajouter une ligne avant le titre et deux après pour espacer celui-ci du reste du texte. Il aurait été préférable de copier le fichier container utilisé pour ces modules sous un autre nom puis de définir de nouvelles classes avec un padding-top et padding-bottom qui convienne.

Sans connaitre le skin et container utilisé, il m'est difficile de te guider très précisèment je vais donc prendre un exemple générique et charge à toi d'adapter ! Imaginons que je veuille une version légèrement différente du container PageTitle_Red.ascx avec un espace avant et après le titre. Je vais donc appliquer les étapes ci-après :

  1. Copier le fichier PageTitle_Red.ascx sous le nom PageTitle_RedEspaces.ascx
  2. Ouvrir ce dernier avec mon éditeur de texte favoris (Notepad ou autre)
  3. Je vois que le titre se trouve dans une balise H1 avec les classes Title et Red : <h1 class="Title Red">
  4. Je vais changer Red en RedEspaces et sauvegarder mon fichier
  5. J'ouvre container.css et j'ajoute à la fin .RedEspaces {padding-top: 24px; padding-bottom: 48px;} puis je sauvegarde
  6. Je vais ensuite dans les paramètres des modules concernés et je sélectionne le container PageTitle_RedEspaces puis je sauvegarde

Maintenant, tous les modules avec le container PageTitle_RedEspaces ont pour le titre un espace avant de 24px et un espace après de 48px ! Pourquoi 24 et 48 ? Parce que j'ai pris soins au préalable d'inspecter le code généré de la page avec l'outil idoine de mon navigateur (IE8+ et Chrome appuyer sur la touche F12, FF installer FireBug) et je me suis rendu compte que les titres avaient une hauteur de ligne de 24px (par défaut dans DNN 6.x). Pour avoir l'équivalent CSS d'une ligne avant (<br/>) et de deux lignes après (<br/><br/>), j'ai donc appliqué ces valeurs ! CQFD!

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNUtilisation - f...Utilisation - f...HTML dans le titre de modulesHTML dans le titre de modules