[résolu] retour à la ligne dans sous-titre/description du site

iceice Member
août 2017 modifié dans Entraide
Bonjour à tous,

Je suis en train de refaire mon site et j'ai désormais un sous-titre/description un peu long. Pour une meilleure présentation du haut de la page, je souhaite faire un retour à la ligne.
Ex : remplacer
la vie est un long fleuve tranquille … selon ce que l'on fait
par
la vie est un long fleuve tranquille …
selon ce que l'on fait

Je suis allé dans paramètres>configuration de base>sous-titre/description du site et j'ai mis la balise <br> ou <br /> mais rien à faire. Elle est affichée et non interprétée. Ça doit probablement être simple à faire mais je sèche.

Si quelqu'un peut m'aiguiller, ce serait sympa.

Vous remerciant de votre aide,

Cordialement.
Stéphane.

Réponses

  • Bonjour,

    A mon avis, il faut mettre la balise <br> au Header !
  • iceice Member
    Bonjour,

    Merci mais je ne vois pas comment. Le texte de mon sous-titre/description du site n'apparait pas dans le fichier header du thème mais dans paramètres>configuration de base>sous-titre/description du site. Ou alors je n'ai pas compris ce que vous vouliez dire.

    Cordialement.
    Stéphane.
  • Essayez de copier ce code (existant au header du theme par defaut):


    <header class="header">
    <div class="container">
    <h1 class="no-margin heading-small"><?php $plxShow->mainTitle('link'); ?></h1>
    <h2 class="h5 no-margin"><?php $plxShow->subTitle(); ?></h2>
    </div>
  • iceice Member
    Je ne comprend toujours pas. Le copier où ? J'utilise le thème par défaut et ce code est déjà dans le header.

    Cordialement.
    Stéphane.
  • Il y a toujours l'option un peu sauvage de taper en dur le texte et passer à autre chose:
    [== PHP ==]
               <div class="container">
                           <h1 class="no-margin heading-small">
                                     la vie est un long fleuve tranquille … <br/>
                                     selon ce que l'on fait
                          </h1>
                           <h2 class="h5 no-margin">
                                     <?php $plxShow->subTitle(); ?>
                          </h2>
               </div>
    

    On prendra pour acquis que le titre ne va pas changer tous les jours...
  • iceice Member
    août 2017 modifié
    Bonjour,

    Merci, là j'ai compris. Je vais donc pouvoir passer à autre chose.

    Mais j'en conclue qu'il n'est pas possible de faire interpréter une balise html dans un champs de saisie d'une variable de l'admin (ou d'un plugin de pluxml). Je ne sais pas si ce que je dis est clair.

    Vous remerciant de votre aide,

    Cordialement.
    Stéphane.
  • Pour des raisons nombreuses, surtout de sécurité, les champs d'entrée textuelle sont "nettoyés" de tout artifice quand ils sont véhiculés dans des variables. Le niveau du nettoyage dépend de l'intention du créateur mais c'est assez commun d'en avoir au moins le minimum.

    C'est un peu comme avoir ou pas un éditeur pour le corps de texte. C'est une flexibilité qui permet d'exprimer un peu de soi dans les paragraphes, ou de massacrer le travail du designer, c'est selon...
  • iceice Member
    août 2017 modifié
    Ok, je comprends. Logique.

    Mon problème à la base était juste de faire un retour à la ligne dans le sous-titre/description du site pour une meilleure présentation du haut de page. D'où l'utilisation de la balise <br>. Mais l'utilisation d'un sous-titre long n'est peut-être pas courant.

    Vous en remerciant,

    Cordialement.
    Stéphane.
  • Tout cela se contrôle par la feuille de style et c'est très bien ainsi. La "boîte invisible" où apparaîtra un bout de texte a une certaine taille, parfois par défaut, parfois forcée par un nombre de pixels (ou d'une autre unité de mesure), parfois par un pourcentage qui peut être en rapport à la page, au contenant des deux titres, etc. À la fin, la poupée russe a une taille fixe et le texte arrive, advienne que pourra.

    L'insertion d'un <br> est certainement à éviter chaque fois qu'une alternative est disponible. Parce qu'il est forcé dans la chaîne de texte HTML, il va toujours rebondir quand on arrive à son niveau, même si ça casse tout.
  • iceice Member
    Je comprends en gros l'explication.

    Mais comme je n'utilise que très rarement le html et encore moins les css, je ne suis pas capable de gérer le retour à la ligne de mon sous-titre au bon endroit avec une feuille de style. La solution de taper en dur me va bien même si ce n'est pas ce qu'il y a de plus propre.

    Merci pour toutes ces précisions,

    Cordialement.
    Stéphane.
  • Encore une fois, c'est la définition du "bon" endroit de coupure qui est en cause. On glisse de l'informatique vers le design visuel.

    Un designer décide de la précision qu'aura la feuille de style selon ce qui est "nomalement" attendu. Pour un titre, il a prévu un certain espace "normal", même chose pour un sous-titre. Un designer moderne pense alors aux autres largeurs d'écran et ajoute des comportement "responsive" pour sauter de ligne aux "bons" endroits dans une vue globale en couvrant toutes les possibilités. C'est pourquoi les feuilles de css ont des milliers de lignes pour une page de 5 items qui semble pourtant si simple.

    En insérant dans la page html un saut de ligne, on coule un examen d'informatique mais on livre à l'écran ce qui était désiré. On tourne le coin rond mais on gagne la course...
  • iceice Member
    Bien d'accord que c'est une question de visuel.

    La feuille de style du thème par défaut est probablement parfaite du point de vue du designer mais le rendu de mon sous-titre était lui loin d'être top d'un point de vue visuel. Il fallait bien que j'améliore cela et je suis incapable d'aller bidouiller quoi que ce soit dans la feuille de style.

    Par contre, là
    Pierre a écrit:
    … on coule un examen d'informatique mais on livre à l'écran ce qui était désiré. On tourne le coin rond mais on gagne la course...
    je n'ai pas tout compris. Il y a certainement un (ou plusieurs) jeux de mot(s) qui m'échappent.

    Cordialement.
    Stéphane.
  • Forcer une balise manuellement alors qu'elle devrait être gérée par une feuille de style est une erreur. Dans les bonnes pratiques, telles qu'enseignées, on passerait de longues minutes à expliquer dans quelles occasions les conséquences d'une telle erreur seraient visuellement catastrophiques. À l'approche d'un examen, le message serait très clair: si quelqu'un s'avise de faire ça, il perdra ses points.

    Dans notre cas, au diable Charlemagne, on n'aspire pas à un diplôme mais à régler un problème dans les 5 prochaines minutes.
  • iceice Member
    Ok, je comprends mieux les jeux de mots.

    J'aimerais bien être capable de modifier la feuille de style pour avoir le visuel attendu mais voilà … pas capable pour l'instant. J'espère un jour.

    Cordialement.
    Stéphane.
  • Une tonne de tutoriels existent. Je réfère toujours les nouveaux à ma maternelle préférée fr.html.net qui a une approche lente et graduelle. C'est un peu infantilisant mais personne ne regarde...

    Après cette étape passée, on choisit sa route:

    - cheminer en bâtissant son expertise (en tentant de ne pas devenir fou)

    - scruter l'internet à la recherche de magnifiques gabarits terminés qui fonctionnent à merveille et on ne touche à rien des css... c'est mon choix. Des mois de travail offerts gratuitement, ça fait parfaitement mon affaire.
  • iceice Member
    Merci pour les conseils et le lien. J'irai voir cela quand j'aurai un peu de temps.

    Cordialement.
    Stéphane.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Je te propose un truc moins sauvage :

    Dans la config de base, quand tu saisis la description du site, place le caractère | à l'endroit où tu veux un retour à la ligne.
    Et ensuite modifie le script header.php de ton thème en remplaçant <?php $plxShow->subTitle(); ?> par
    [== PHP ==]
    <?php echo str_replace('|', '<br />', plxUtils::strCheck($plxShow->plxMotor->aConf['description'])); ?>
    
    
    En espérant que ce hack soit intégré à la prochaine version de PluXml comme ceci :
    [== PHP ==]
    public function subTitle($break='|') {
    	echo str_replace($break, '<br />', plxUtils::strCheck($this->plxMotor->aConf['description']));
    }
    
  • iceice Member
    Bonjour,

    @bazooka07

    Merci beaucoup, la modification fonctionne parfaitement. Cela me semble effectivement plus propre.

    Cordialement,
    Stéphane.
Connectez-vous ou Inscrivez-vous pour répondre.