Menu | Contenu | Retour | Actualités | Progression | Rechercher | Pied de page | Accessibilité | Plan du site | Accueil
Imprimer | Plan du site |

Bernard-Paul Eminet - 06 73 42 90 23 - Drupal | SPIP | Claroline | Formateur - Développeur - français/anglais

Lire aussi
  • Quel est l’intérêt d’un modèle ?
  • Voici comment je l’explique dans mes formations.
  • Le resumé des articles d’une rubrique
  • Considérons le modèle suivant : rubrique_resume.html à placer dans le dossier squelettes/modeles (...)
  • Le mini-plan d’une rubrique
  • Considérons le modèle suivant : rubrique_sommaire.html à placer dans le dossier squelettes/modeles (...)
  • Faire un glossaire
  • Considérons le modèle suivant : rubrique_sousrub.html à placer dans le dossier squelettes/modeles (...)
  • Un flux de syndication dans un contenu
  • Ce modèle permet d’afficher des flux de syndication dans n’importe quel contenu du site. (...)
  • Protéger un adresse email par modèle
  • Placer dans le contenu d’un site : Envoyer un mail est tout à fait correct, mais l’adresse (...)
  • Afficher des articles par mot-clé
  • Le modèle suivant permet d’afficher des articles qui sont associés à un mot-clé. Il suppose (...)
  • Signaler une nouveauté
  • Ce modèle est simpliste, il permet de signaler une nouveauté en ajoutant un petit visuel devant (...)
    Accueil du site « La notion de "modèle SPIP" « Faire une recherche sur un groupe de mot-clés
    Diminuer la taille des caractères Augmenter la taille des caractères

    Faire une recherche sur un groupe de mot-clés

    Considérons le modèle suivant : groupemot.html à placer dans le dossier squelettes/modeles du site.

    Il propose - dans un contenu - la recherche sur les mots-clés d’un groupe de mots-clés sous forme d’un pop-up qui propose une sélection des mots-clés du groupe qui sont associé à - au moins - 1 article.

    Appel dans un contenu par : ID est le numéro d’ID du groupe de mots-clés

    Il suppose que la gestion des mots-clés soit prévue dans la configuration du site.

    Il suppose aussi l’existence d’un squelette mot.html qui permet d’afficher les contenus associé à un mot-clé sélectionné.

    Pour la gestion du pop-up placer le code suivant avant le </head> dans l’entete du site.

    <!-- Javascript pour popup dans une boucle -->
    <script language="JavaScript" type="text/JavaScript">
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
     eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
     if (restore) selObj.selectedIndex=0;
    }
    </script>

    Le modèle

    [(#REM) modele qui affiche un pop-up de recherche sur les mots-cles d'un groupe de mots-cles ]
    <?php
    // appel par <groupemot|idgroupe=xx>
    // xx est l'ID du groupe de mot-cle
    ?>

    <BOUCLE_groupemots(GROUPES_MOTS){id_groupe=#ENV{idgroupe}}>
                                            <form name="form" action="">
    [(#REM) popup d'acces direct aux mots cles du groupe ]
                                            <select name="menu" class="popup" onChange="MM_jumpMenu('parent',this,1)">
                                            [<option selected>(#TITRE|supprimer_numero)</option>]
                                            <BOUCLE_popup(MOTS){id_groupe=#ENV{idgroupe}}{par num titre}>
    [(#REM) On regarde s'il existe au moins un article qui a le mot-cle ]
                                            <BOUCLE_articles5(ARTICLES){id_mot}{0,1}>
    [(#REM) Si oui on affiche le titre du mot cle - attention utilisation d'une balise non ambigue ]
                                            [<option value="#URL_MOT">(#_popup:TITRE|supprimer_numero)</option>]
                                            </BOUCLE_articles5>
    [(#REM) Si non le mot-cle n'est pas affiche ]
                                            <//B_articles5>
                                            </BOUCLE_popup>
                                            </select>
    [(#REM) fin popup d'acces direct aux mots-cles du groupe ]
                                            </form>
    </BOUCLE_groupemots>

    On peut enchaîner la recherche sur plusieurs groupes ?
    Oui exemple :

    <groupemot|idgroupe=2>
    <groupemot|idgroupe=3>
    <groupemot|idgroupe=4>

    Pour fixer la largeur du pop-up rajouter dans la CSS :

    /* style pour popup */
    .popup {
     width: 400px;
    }