Aller au contenu
Support de Zwii

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'recherche'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Migration de ce forum
    • Informations sur la migration
  • Support de Zwii
    • Informations et nouveautés
    • Ateliers de développement
    • Un bug découvert ?
    • Questions sur l'installation et l'utilisation
    • Trucs et astuces
    • Support des téléchargements
  • Communauté
    • Boîte à idées
    • Votre site

Catégories

  • Les thèmes
    • Thèmes du site
    • Thèmes de l'administration
  • Les modules
    • Modules officiels
    • Galeries
  • Plugins TinyMCE
  • Tutoriels
  • Modifications et astuces

Rechercher les résultats dans…

Rechercher les résultats qui contiennent…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


À propos de moi


Site internet

2 résultats trouvés

  1. Bonjour @Fred ainsi que @sylvainlelievre Voila ce n'est as vraiment un bug que je relate ici mais plutôt un inconvénient relevé depuis quelque temps déjà et qui concerne la page de recherche d'un Zwii. - En effet lorsque nous lançons une recherche sur un mot précis ou des mots approchants (avec l'option prévue sous la barre de recherche) et bien aucun résultat n 'est retourné si l'un des mots (ou un simple mot) est écrit dans un commentaire posté par exemple dans le blog. - C'est idem si l'on recherche dans les "Galeries" d'un zwii le module ne trouve pas les noms de galeries crées Il me semble important que le module de recherche soit aussi capable de recherche n'importe quel terme das un zwii et qui soit à la vue d'un visiteur ou d'un membre enregistré; non? Si on a un site qui contient énormément de commentaires postés (exemple un zwii de vulgarisation en tutoriel, un zwii transformé en site de vente ou dépannage) les gens aiment y trouver s'ils ont oublié où ils l'ont lu un terme bien précis pour le retrouver dans le contexte.... Cet exemple en 4 images: Un commentaire de base à l'installation du ZwiiCMS rédigé par Rémi dans un article du blog Je tape donc dans le formulaire de recherche résultat Je recommence avec l'autre option (décocher les mots approchants) résultat mais n'ai pas réussi à trouver dans le module search (maintenant incorporé au zwii) les codes à modifier; peur être le développeur à l'origine de ce module @sylvainlelievre pourrait trouver comment remédier à ce petit inconvénient là
  2. Bonjour, Voici un module de recherche qui exploite le fichier data.json d'un site ZWII (testé sous 8.5.9) pour chercher des occurences dans toutes les pages du site. Il est constitué d'un seul fichier php et agrémenté d'une image de fond pour le rendu. Plus de détails dans l'entête du fichier recherche.php Vous aurez un aperçu du rendu en allant sur la page d'accueil du site https://www.halteauxmareesvertes.org (bas de page) <!-- Recherche des pages contenant un mot ou une phrase clef à partir du fichier data.json Une portion du texte contenant le mot ou la phrase clef est affichée pour chaque occurence rencontrée Le nombre d'occurence dans une page est indiqué. Dans le mot ou la phrase clef la casse est indifférente, les accents sont pris en compte. Testé avec ZWII 8.5.9 Sont à regrouper dans un dossier ce fichier recherche.php, loupe.jpg, data.json (une copie de votre data.json) et un .htaccess Un formulaire POST placé dans une des pages ZWII pointe sur ce fichier <form action="/....../recherche.php" method="post">Recherche : <input name="motclef" size="10" type="text" /> <input type="submit" value="valider" /></form> --> <head> <title>Recherche</title> <link rel="stylesheet" href="/site/data/theme.css"> <link rel="stylesheet" href="/site/data/custom.css"> </head> <body style="background-image:url(loupe.jpg);"> <?php //Déclaration de la fonction nettoyer(string $contenu) : string //Supprime de $contenu les caractères placés entre < et >, donc les balises html comme <p> <br/> etc... //Retourne $contenu nettoyée function nettoyer_html($contenu) { do { $pos1=strpos($contenu,chr(60)); if($pos1!==false) { $pos2=strpos($contenu,chr(62)); if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1)); } } while($pos1!==false); return $contenu; } // Récupération de l'ensemble des données d'un site ZWII 8.x.x // On utilise une copie du fichier data.json, manuelle car avec .htaccess impossible d'utiliser copy // Lire le fichier json $json_source = file_get_contents('data.json'); // Décoder le JSON en un array $array = json_decode($json_source,true); // Récupération du mot clef passé par form avec caractères accentués $motclef=$_POST['motclef']; echo '<h1>R&eacute;sultats de la recherche avec le mot clef : '.$motclef.'<br/></h1>'; if ($motclef!="" && strlen($motclef)>2) { foreach ($array as $key1 => $value1) { // Déterminer le chemin de tous les contenus (content) dans page ou module if (($key1=='page' || $key1=='module') && is_array($value1) ) { foreach ($value1 as $key2 => $value2) { if (is_array($value2)) { foreach ($value2 as $key3 => $value3) { if ($key3=="content" && is_string($value3)) { // compte le nombre d'occurences dans la page $nboccu=0; // le contenu à explorer est dans $value3, le nom de la page est $key2 //Nettoyage de $value3 : on enlève tout ce qui est inclus entre < et > $value3=nettoyer_html($value3); //accentuation $value3=html_entity_decode($value3); // Recherche et affichage des occurences do { $occu = stristr($value3,$motclef); if ($occu!="") { if ($key2!=$dejavu) echo '<p><br/>Mot clef trouv&eacute; dans la page : <a href="/?'.$key2.'">'.$key2.'</a><br/></p>'; $dejavu=$key2; $nboccu++; //Affichage d'un extrait de $value3 echo '<p>'.$nboccu.' - "...<em>'.substr($occu,0,200).'</em>..."<br/></p>'; //pour recherche d'une autre occurence dans le même contenu $value3=substr($occu,100); } } while($occu!=""); $dejavu=""; $nboccu=0; } elseif ($key1 == "module" && is_array($value3)) { foreach ($value3 as $key4 => $value4) { if ($key4=="content" && is_string($value4) ) { $nboccu=0; // le contenu à explorer est dans $value4, le nom du module/page est $key2/$key3 //Nettoyage de $value4 : on enlève tout ce qui est inclus entre < et > $value4=nettoyer_html($value4); //accentuation $value4=html_entity_decode($value4); // Recherche et affichage des occurences do { $occu = stristr($value4,$motclef); if ($occu!="") { if ($key3!=$dejavu) echo '<p><br/>Mot clef trouv&eacute; dans la page : <a href="/?'.$key2.'/'.$key3.'">'.$key2.'/'.$key3.'</a><br/></p>'; $dejavu=$key3; $nboccu++; echo '<p>'.$nboccu.' - "...<em>'.substr($occu,0,200).'</em>..."<br/></p>'; } //pour recherche d'une autre occurence dans le même contenu $value4=substr($occu,100); } while($occu!=""); $dejavu=""; $nboccu=0; } } } } } } } } } else echo '<p><br/>Trop court ! minimum 3 caract&egrave;res</p>'; echo '<br/><br/><br/>'; ?> </body></html> recherche.php
×
×
  • Créer...