S'identifier - S'inscrire - Ecrire un article - Contact

Un super module de recherche !

Par rap • Actualités • Mardi 28/10/2008 • 3 commentaires  • Lu 4340 fois • Version imprimable

Mots-clés : , , ,


Bonjours à tous, j'ai enfin trouvé le moyen d'avoir un bon module de recherche sur Viabloga.

Après avoir fait cette suggestion : Suggestion en rapport avec "Exécution de commandes : formulaires et API" qui consistait à utiliser la page execute.pl avec les commandes d'articles mais en découpant chaque mot entré dans le formulaire.

C'est à dire que, telle qu'il est à présent, si je tape "vie de viabloga", la commande sera [ [afficher les articles] ].[ [titre:vie de viabloga] ]

Mais grâce à un petit code javascript, on peut obtenir cette commande : [ [afficher les articles] ].[ [titre:vie] ].[ [titre:de] ].[ [titre:viabloga] ]

Et c'est très utile car, par exemple, si je veux trouver cet article : Des mots-clés en couleur, je n'ai qu'à taper "mots clés couleur".

Faites le test :

Avec découpage :

Le résultat ne s'affiche pas mais juste la formule car le script est à insérer dans le code source d'un modèle de mise en page, cela ne fonctionne pas dans un article !

Sans découpage :


Voici donc le code à utiliser (et à adapter à votre site)
 

 

<script type="text/javascript">
function rechercher(chaine)

  var title = chaine.value;
  var lesMots = chaine.value.split(' ');
  var nouvelleChaine = '[ [afficher les articles] ].[ [titre:' + lesMots.join('] ].[ [titre:') + '] ]';
  location.replace('http://moi.viabloga.com/cgi-bin/execute.pl?site_id=moi&command='+nouvelleChaine+'&title=Résulat de recherche pour '+title)                   
}   
</script>
 
<form method="post" action="" onsubmit="rechercher(this.keywords);return false">
<input name="keywords" id="keywords" type="text" />
<input type="submit" value="envoyer" />
</form>
 

Dans cet exemple, il faut modifier http://moi.viabloga.com par l'adresse de votre site et site_id=moi par l'id de votre site et il faut enlever les espaces entre les crochets.

On peut ensuite élaborer un peu le script pour faire des recherches par rubriques :
 

<script type="text/javascript">
function rechercher(chaine)
{
  var title = chaine.value;
  var lesMots = chaine.value.split(' ');
  var rubrique1 = '<b>Rubrique 1 : </b>[ [afficher les articles] ].[ [rubrique:rubrique1] ].[ [titre:' + lesMots.join('] ].[ [titre:') + '] ] ';
  var rubrique2 = '<b>Rubrique 2 : </b>[ [afficher les articles] ].[[rubrique:rubrique2] ].[ [titre:' + lesMots.join('] ].[ [titre:') + '] ].images(image%3Btitre) ';
  var rubrique3 = '<b>Rubrique 3 : </b>[ [afficher les articles] ].[ [rubrique:rubrique1] ].[ [titre:' + lesMots.join('] ].[[titre:') + '] ].lectures.10';
  location.replace('http://www.generap.com/cgi-bin/execute.pl?site_id=rap&command='+rubrique1+rubrique2+rubrique3+'&title=Résulat de recherche pour '+title)                   
}   
</script>
 
<form method="post" action="" onsubmit="rechercher(this.keywords);return false">
<input name="keywords" id="keywords" type="text" />
<input type="submit" value="Rechercher" />
</form>
 

Adaptez vos résultats selon les commandes d'affichages des articles.

D'autres articles sur des thèmes similaires :


Commentaires

par Stephane le Mardi 28/10/2008 à 16:32

Stephane Bien vu. Merci d'avoir partagé le code !

Par contre évidemment, ça ne recherche que dans le titre des articles.


Re: par rap le Mardi 28/10/2008 à 20:49

rap Oui, le titre ou les mots-clés.


Re: par rap le Mercredi 29/10/2008 à 12:41

rap Je propose de créer un nouveau filtre sur l'intégralité de l'article, du genre :

[ [afficher les articles] ].[ [all:mot-clé] ]

Et que cette commande affiche : Le titre + la date + la phrase (ou une phrase) de l'article qui comporte le mot clé recherché.

Un peu comme les résultats des moteurs de recherche.

Et puis si possible mettre cette phrase dans une div afin que l'on puisse paramétrer l'affichage dans le css.

PS : les compteurs de visites de mon site ont vraiment un problème, il n'y a pas que mes visites qu'ils ne comptabilisent pas : ils reviennent sans arrêt à la même valeur après avoir augmenté.



Session

Pour participer plus facilement, ouvrez une session :

Identifiant de
mon blog
Nom d'utilisateur
Mot de passe

Si vous avez déjà un blog sur ViaBloga ou si vous avez ouvert un compte sur l'un d'entre eux, vous pouvez vous identifier avec votre nom d'utilisateur et mot de passe en précisant d'abord l'identifiant de votre blog.

S'inscrire

Discussions actives (+ commentaire)


Archives par mois