Mots-clés : recherche, affichage des articles, articles, module de recherche
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 :
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 :
- Afficher les articles d'une rubrique dans un autre ordre - 28/11/08
- Message d'erreur sur bloc RECHERCHE - 12/09/12
- fonction de recherche OUT? - 24/07/11
- Article pas pris sur site - 08/04/11
- Pouvoir choisir pour chaque article de l'afficher en première page ou pas - 27/02/09
- Stéphane à la Cantine mercredi 12 novembre - 10/11/08
- Un module de recherche plus performant -- fait - 19/10/08
- Correction compteur de lectures - 23/06/08
- Afficher les articles de n'importe quelle rubrique -- Résolu - 17/05/08
- Le lien "suite de l'article..." dans l'article lui-même -- FAIT sur certains modèles - 16/04/08
Bien vu. Merci d'avoir partagé le code !
Par contre évidemment, ça ne recherche que dans le titre des articles.