Compter le nombre d'éléments d'une liste ul / Mise en page CSS

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Compter le nombre d'éléments d'une liste ul / Mise en page CSS

    Bonjour,

    Je souhaiterais compter le nombre d'éléments li d'une liste ul d'un menu afin d'appliquer un nom de classe CSS différentes en fonction de ce nombre et de pouvoir ainsi gérer la taille et la disposition de ces éléments dans ma feuille de style. Je cherche donc quelque chose un peu dans ce genre là : http://www.joomlack.fr.nf/tutos-desi...-variable.html
    Est ce que quelqu'un sait comment l'appliquer à des éléments d'une liste ?

  • #2
    Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

    Bonjour,
    je ne comprends pas bien ta question...
    Si tu veux numéroter les éléments de menu, Joomla le fait par défaut en mettant des ID item.
    Quel est le rapport avec l'intégration conditionnelle de modules dans un template ?
    Un peu de pub: http://www.aplomb.ch

    Commentaire


    • #3
      Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

      Concrètement, je veux compter le nombre d'éléments du menu (les li). Ce nombre n'est pas le même sur toutes les pages puisque c'est un sous-menu qui dépend de la thématique sélectionnée. En fonction de ce nombre, je veux appliquer une présentation CSS différente (height, position...) afin que ce menu soit toujours bien centré dans un espace fixe.
      Je viens de faire ces changements en utilisant une classe ayant pour nom la catégorie/thématiques (http://forum.joomla.fr/showthread.ph...-la-catégorie) mais j'aimerais automatiser ce fonctionnement, que la présentation change en ajoutant un nouvel élément au menu par exemple.
      Le principe serait d'appliquer un nom de classe en fonction de ce nombre (menu-3, menu-4, menu-5 par exemple) et d'ajuster la présentation pour ces classes dans les CSS (au lieu de les ajuster pour les noms de catégories). En gros, c'est le même principe que le lien que j'ai mis dans le post.

      Commentaire


      • #4
        Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

        Re,
        Alors, il te faut faire de la réécriture de module dans ton template. Tout dépend du module utilisé, ça peut ce compliquer...
        Un peu de pub: http://www.aplomb.ch

        Commentaire


        • #5
          Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

          Pas forcément. Si l'on se base sur le lien que j'ai donné dans le post ou celui ci (http://www.developpez.net/forums/d84...ments-enfants/), il suffirait de compter dans une variable le nombre de li, d'affecter dans une variable un nom différent de classe en fonction du nombre renvoyé par cette variable et d'affecter cette dernière variable à une div qui engloberait le menu (simple module de menu en ul). Bien sûr, ce n'est possible que s'il existe une fonction php (ou dans ce lien, c'est du Javascript) qui est capable de compter des li ou des enfants de ul.

          Commentaire


          • #6
            Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

            Tu devrais préciser ce que tu entends par

            En fonction de ce nombre, je veux appliquer une présentation CSS différente (height, position...) afin que ce menu soit toujours bien centré dans un espace fixe.
            car il y a pas mal de chances que ce soit directement gérable en css.

            En premier lieu pourquoi ne les comptes-tu pas à la main au préalable ?
            Dernière édition par kursus à 04/04/2012, 11h58

            Commentaire


            • #7
              Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

              Envoyé par Jeremylgx Voir le message
              Bien sûr, ce n'est possible que s'il existe une fonction php (ou dans ce lien, c'est du Javascript) qui est capable de compter des li ou des enfants de ul.
              Ok, tu peux créer toi même ce petit code php, il ne doit pas être compliqué. Dans mon précédent post, je te disais simplement où mettre ce code...
              Un peu de pub: http://www.aplomb.ch

              Commentaire


              • #8
                Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                J'imaginais quelque chose fonctionnant comme ceci :

                -Une fonction calcule le nombre d'éléments li descendants d'ul et le stocke dans une variable $nb-li-menu

                -Une expression conditionnelle affecte à une autre variable un nom de classe différente en fonction de la variable $nb-li-menu
                if $nb-li-menu=2, $class-menu==menu-2
                if $nb-li-menu=3, $class-menu==menu-3

                -Dans le fichier du template index.php, j'entoure le menu par une div contenant cette classe.
                <div class="<?php echo('$class-menu') ?>

                -Et dans mon fichier template.css, je style les différentes classes.
                .menu-2 {*... }
                .menu-3 {*... }
                ...

                @al1pb : Je cherche justement cette fonction php. Je ne pense qu'il faille aller jusqu'à la réécriture du module mais juste utiliser index.php et template.css.

                Commentaire


                • #9
                  Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                  Avant de construire un tank pour tuer une mouche, essaye de répondre à ma question...

                  Commentaire


                  • #10
                    Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                    @kursus : En gros, mettre des marges, des hauteurs des li, des tailles de texte et des valeurs top de position:absolute différentes.

                    Commentaire


                    • #11
                      Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                      En quoi tu ne peux pas faire ça avec les classes d'items du menu standard ?

                      Commentaire


                      • #12
                        Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                        Je ne vois pas comment. Je ne sais pas à l'avance combien d'éléments il peut y avoir. Comment ferais-tu ?

                        Commentaire


                        • #13
                          Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                          Envoyé par Jeremylgx Voir le message
                          @al1pb : Je cherche justement cette fonction php. Je ne pense qu'il faille aller jusqu'à la réécriture du module mais juste utiliser index.php et template.css.
                          Ca serrait plus simple pour compter le nombre de li, et tu pourais mettre la classe menu-2 dans ul sans créer un div supplémentaire

                          Mais je penses qu'il doit y avoir une solution nettement plus simple sans usine à gaz ni programmation php

                          Bon courage
                          Un peu de pub: http://www.aplomb.ch

                          Commentaire


                          • #14
                            Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                            J'ai encore une question:
                            Quel module utilises-tu pour afficher tes menus?
                            Un peu de pub: http://www.aplomb.ch

                            Commentaire


                            • #15
                              Re : Compter le nombre d'éléments d'une liste ul / Mise en page CSS

                              @al1pb : Le module de base de Joomla pour afficher les menus : mod_menu

                              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

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X