[réglé] disposition des lettres

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

  • [réglé] disposition des lettres

    Chers tous,

    J'ai créé « mod_custom_alphabet » à partir de la copie de « mod-custom » dans « modules ».
    Dans le fichier tmpl, j'ai transformé default.php en

    Code:
    <?php defined('_JEXEC') or die; ?>
    <link rel="stylesheet" href="<?php echo JURI::base() . 'modules/mod_custom_alphabet/css/styles.css'; ?>" type="text/css" />
    <div id="alphabet">
        <!-- Votre HTML pour afficher l'alphabet -->
        <ul class="letters">
            <li><a href="#" class="letter">A</a></li>
            <li><a href="#" class="letter">B</a></li>
            <li><a href="#" class="letter">Z</a></li>
        </ul>
    </div>
    <div id="wordList">
        <!-- La liste des mots correspondants sera affichée ici -->
        <ul id="wordsContainer">
            <!-- Les mots correspondants seront insérés ici -->
        </ul>
    </div>
    <script src="<?php echo JURI::base() . 'modules/mod_custom_alphabet/js/script.js'; ?>"></script>
    ​​
    Dans le fichier mod-custom_alphabet, j'ai créé le dossier js, qui contient le fichier script.js que j'ai aussi créé :
    Code:
    // Exemple de mots correspondants pour chaque lettre (simulation de données)
    const words = {
        'A': ['auie', 'aiueauie', 'auieauieaiue'],
        'B': ['bépo', 'bépobépo'],
        'Z': ['zjld'],
        // ... Ajoutez d'autres lettres et leurs mots correspondants ici
    };
    
    // Fonction pour afficher les mots correspondants à la lettre sélectionnée
    function renderWords(letter) {
        const wordsContainer = document.getElementById('wordsContainer');
        wordsContainer.innerHTML = ''; // Efface la liste actuelle des mots
    
        const filteredWords = words[letter] || []; // Récupère les mots correspondants à la lettre sélectionnée
    
        // Ajoute chaque mot à la liste
        filteredWords.forEach(function(word) {
            const li = document.createElement('li');
            li.textContent = word;
            wordsContainer.appendChild(li);
        });
    }
    
    // Événement pour gérer le clic sur les lettres de l'alphabet
    document.addEventListener('DOMContentLoaded', function() {
        const alphabet = document.querySelector('#alphabet');
    
        alphabet.addEventListener('click', function(event) {
            if (event.target.classList.contains('letter')) {
                const letter = event.target.textContent;
                renderWords(letter); // Appel à la fonction pour afficher les mots correspondants
            }
        });
    });
    ​​
    Enfin, dans le fichier mod_custom_alphabet j'ai créé le dossier css qui contient le fichier styles.css que j'ai aussi créé :
    Code:
    /* Styles pour l'alphabet */
    #alphabet {
        margin-bottom: 20px;
    }
    
    .letters {
        list-style: none;
        padding: 0;
    }
    
    .letters li {
        display: inline-block;
        margin-right: 5px;
    }
    
    /* Styles pour la liste de mots */
    #wordList {
        /* Ajoutez des styles personnalisés */
    }​
    Or, il faut maintenant installer le module créé et j'aurais besoin d'aide s'il vous plaît, car je ne sais pas comment faire.

  • #2
    Bonjour,

    Pour l'installation d'un module, il faut passer par un fichier xml. Voir https://docs.joomla.org/J4.x:Creatin...mple_Module/fr

    Pour respecter les normes Joomla 4 ou 5, les fichiers js et css doivent être dans le répertoire media/<nom du module>/js ou css et ces fichiers sont chargés par le webassetmanager : voir https://docs.joomla.org/index.php?ti...:Web_Assets/fr

    Pour voir l'organisation d'un package d'installation, le mieux est de prendre exemple sur des modules existants. J'en ai fait quelques uns et, par exemple, regardez mon module CG Scroll qui a du css, du js : https://github.com/conseilgouz/mod_cg_scroll_j4

    Pascal

    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Merci beaucoup Pascal, j'ai pu améliorer les codes que j'ai écrit grâce à toi, mais j'ignore toujours quelles manipulations l'administrateur doit effectuer pour installer les fichiers créés.

      Commentaire


      • #4
        Bonjour,

        Les extensions (modules/plugins/composants) sont dans un fichier zip qui contient tous les répertoires et, surtout, le fichier .xml qui donne la liste des fichiers à installer.
        Il suffit alors de passer par système/Installation/Extensions, de sélectionner l'onglet "Archive à envoyer" et de faire un drag&drop à l'endroit indiqué du zip généré.
        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Merci beaucoup Pascal pour ta réponse.
          Je ne savais pas que j'avais créé une extension.
          Donc si je comprends bien je mets les trois fichiers tapés dans un dossier que je zippe et que j'envoie à Joomla comme tu l'as décrit ?
          Dernière édition par auieauie à 21/11/2023, 10h59

          Commentaire


          • #6
            Non, ce n'est pas possible.
            Je dois d'abord apprendre à faire une extension.

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X