Questions sur le fonctionnement "Classe d'en-tête/titre" des modules

Réduire
Ce sujet est fermé.
X
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Questions sur le fonctionnement "Classe d'en-tête/titre" des modules

    Bonjour,

    je n'arrive pas à comprendre comment fonctionne cet attribut "Classe d'en-tête/titre" dans J3.x.
    Je pensais que c'était comme pour les suffixe de classes de module mais qu'ils agissaient uniquement sur le titre (souvent en H3) du module en question mais quand je mets le nom d'une classe CSS existante dans cette zone de texte rien ne change et rien n'apparaît non plus dans le code de ma page.

    Un petit éclaircissement serait le bienvenu.

    Merci à vous,
    Bruov99

  • #2
    Re : Questions sur le fonctionnement "Classe d'en-tête/titre" des modules

    Bonjour Brunov99,

    Le rendu des modules dépend de leur style.

    L'assignation du style au module est défini :
    • Par défaut dans le template (habituellement dans index.php). Par exemple, <jdoc:include type="modules" name="position-8" style="xhtml" /> indiquera que les modules de la position "position-8" auront par défaut le style "xhtml".
    • Par paramétrage, pour chaque module dans Paramètres avancés >> Style du module. "Hérité" indique le style par défaut du template.

    Selon le style sélectionné, les paramètres du module pourront être utilisés ou non. Les styles des modules sont codés de base dans templates/system/html/modules.php et complétés par ceux des templates dans templates/nom_du_template/html/modules.php
    La classe en-tête/titre est utilisée dans le code du style "html5" mais pas dans la plupart des autres styles.

    En résumé, pour se servir du paramètre "Classe d'en-tête/titre", il faut que le "Style du module" sélectionné soit capable de l'utiliser. C'est le cas par exemple pour "html5".

    Amicalement,
    Rajoz

    Commentaire


    • #3
      Re : Questions sur le fonctionnement &quot;Classe d'en-tête/titre&quot; des modules

      Merci Rajoz,

      C'est clair sur ce point.

      Mais comment faire, alors que j'ai déjà un override de mon module, si je veux que tous les H3 soit par exemple en vert (d'où l'override) et que sur certains modules seulement, ces H3 soient en bleu. Pour les modules de type custom ça va, mais pour les autres ?

      Merci pour vos suggestions.
      Brunov99

      Commentaire


      • #4
        Re : Questions sur le fonctionnement &quot;Classe d'en-tête/titre&quot; des modules

        Bonjour Brunov99,

        Quelques questions pour être sur de comprendre le problème :
        • De quel template s'agit-il ?
        • Quel override a déjà été fait sur le module ?
        • De quel module s'agit-il ?
        • Quel est le style appliqué à ce module ?
        • De quels h3 s'agit-il (titre du module, tous ceux du module, etc.) ?
        • Quel est le critère qui fait la différence (utilisation, position, assignation de menu, etc.) entre un module avec h3 en vert et h3 en bleu ?
        • Un même module peut-il être une fois en vert et une autre fois en bleu en fonction du critère utilisé ou s'agit-il de modules différents ?

        Comme pour tout ce qui est visuel, un lien sur le site permettrait de voir le problème donc de répondre de façon plus adaptée.

        Amicalement,
        Rajoz

        Commentaire


        • #5
          Re : Questions sur le fonctionnement &quot;Classe d'en-tête/titre&quot; des modules

          Woouh Rajoz,
          ça en fait des questions...

          Je vais essayer d'être plus explicite. En liminaire je précise que le CSS m'est assez familier en revanche je ne suis pas toujours très à l'aise avec le PHP, même si j'arrive à faire quelques "bricoles".

          J'utilise un template commercial (jm_creatrix) basé sur le Framework Helix de JoomShaper.
          Ce template comprend des overrides et j'en ai fait d'autres (content, custom, user, article, contact...).
          Les modifications que je veux apporter sont ponctuelles et portent sur le titre (souvent H3 par défaut) de n'importe quel module. (donc sur le titre du module seulement, les titres des contenus je les gère en CSS).

          C'est pour cela que je pensais utiliser l'attribut "Classe d'en-tête/titre" de la même façon qu'on utilise "suffixe de classes" pour le module, imaginant que le nom que je saisirai dans la zone de texte serait ajouté comme classe CSS au titre seulement. Cette classe étant définie dans un fichier CSS je n'avais plus de problème pour gérer mes styles.
          Mais ça ne semble pas fonctionner comme cela, d'où la question dans le titre de ce post.

          Sur les modules de type "custom", la solution est facile car il suffit que je n'affiche pas le titre et j'en ajoute un dans le contenu avec sa classe CSS.

          Exemple, je veux que les titres de certains modules de ma page d'accueil soient en vert et d'autres en orange (je sais! mais le client et moi on n'a pas les mêmes goûts du tout). Donc j'aurais aimé pouvoir ajouter un nom de classe .vert ou .orange selon mes besoins (la logique serait sémantique et non structurelle, donc pas possible d'utiliser un outil du genre Advanced Module Manager) sachant que pour l'exemple la couleur par défaut est le gris. Donc des fois, le module peut être vert et des fois orange.

          Mais une idée me vient, peut-on faire plusieurs override d'un même élément ? Auquel cas, il suffirai de choisir type 1 ou type 2 ? Dans ce cas comment je fais...

          J'espère avoir été clair
          Site en cours de dev http://www.cbienici.net/isoris

          Merci encore,
          Brunov99

          Commentaire


          • #6
            Re : Questions sur le fonctionnement &quot;Classe d'en-tête/titre&quot; des modules

            Bonjour brunov99,

            C'est vrai que ça faisait beaucoup de questions
            mais c'était nécessaire pour essayer de comprendre en détail ton besoin.

            C'est pour cela que je pensais utiliser l'attribut "Classe d'en-tête/titre" de la même façon qu'on utilise "suffixe de classes" pour le module, imaginant que le nom que je saisirai dans la zone de texte serait ajouté comme classe CSS au titre seulement. Cette classe étant définie dans un fichier CSS je n'avais plus de problème pour gérer mes styles. Mais ça ne semble pas fonctionner comme cela, d'où la question dans le titre de ce post.
            Réponse : Comme je l'ai indiqué précédemment, l'attribut "Classe d'en-tête/titre" marche mais il dépend du style du module.

            Par exemple, pour un module publié en position-7 du template Protostar et dont l'attribut Classe d'en-tête/titre est couleur-titre, en fonction du choix fait pour le style du module on a les résultats suivants :
            1. Style du module = System/xhtml
              Résultat : <h3>Titre du module</h3>
            2. Style du module = System/html5
              Résultat : <h3 class="couleur-titre">Titre du module</h3>
            3. Style du module = Hérité (Protostar applique par défaut le style Well en position-7)
              Résultat : <h3 class="page-header">Titre du module</h3>

            La classe couleur-titre n'est appliquée que dans le cas 2 avec un style System/html5

            Si tu peux utiliser le style System/html5, le problème est résolu. Mais je pense que System/html5 va casser le style hérité de ton template. La solution est alors de modifier le code dans le fichier templates/jm_creatrix/html/modules.php

            On peut créer ou modifier les styles des modules, cela s'appelle Module Chrome, pour la documentation voir :
            Il faut juste un peu de PHP avec deux possibilités :
            • Soit créer des styles différents avec pour l'un le titre en h3 en orange, pour l'autre en vert, etc. Le choix de la couleur se fera alors par le paramètre "Style du module"
            • Soit créer ou modifier un seul style pour lui permettre d'utiliser le paramètre "Classe d'en-tête/titre". Le choix se fera alors en sélectionnant ce style dans "Style du module" et en choisissant la classe du titre en h3 dans "Classe d'en-tête/titre".

            Je n'ai pas accès au template JM Creatrix puisqu'il est payant. Je ne peux donc pas donner d'exemple précis du code correspondant au template.

            Pour l'exemple du style System/html5, le code se trouve dans templates/system/html/modules.php, regarde dans la fonction modChrome_html5 pour trouver à partir de la ligne 30 l'utilisation du paramètre 'header_class' qui correspond à "Classe d'en-tête/titre".

            Amicalement,
            Rajoz

            Commentaire


            • #7
              Re : Questions sur le fonctionnement &quot;Classe d'en-tête/titre&quot; des modules

              Bonsoir Rajoz,

              Supers explications. J'ai quasi tout compris.

              Ok, je vais aller faire un tour du côté de module.php de mon template et voir ce que je peux faire.

              Merci beaucoup.
              Brunov99

              Commentaire

              Annonce

              Réduire
              1 sur 2 < >

              C'est [Réglé] et on n'en parle plus ?

              A quoi ça sert ?
              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
              Comment ajouter la mention [Réglé] à votre discussion ?
              1 - Aller sur votre discussion et éditer votre premier message :


              2 - Cliquer sur la liste déroulante Préfixe.

              3 - Choisir le préfixe [Réglé].


              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

              2 sur 2 < >

              Assistance au forum - Outil de publication d'infos de votre site

              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

              UTILISER À VOS PROPRES RISQUES :
              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

              Problèmes connus :
              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

              Installation :

              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

              Archive zip : https://github.com/AFUJ/FPA/zipball/master

              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
              et remplacer www. votresite .com par votre nom de domaine


              Exemples:
              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/
              Pour executer le script: http://www..com/fpa-fr.php

              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/cms/
              Pour executer le script: http://www..com/cms/fpa-fr.php

              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
              Voir plus
              Voir moins
              Travaille ...
              X