Bonjour à tous,
J'ai effectué la migration de mon site de 1.8.3 vers 1.9.2 sur un
serveur de test.
Le site a l'air de bien fonctionner après les modifications d'usage.
J'ai un problème toutefois concernant la page recherche.html.
Cette page permet de retourner les résultats d’une recherche sur les
rubriques « Sélections », « Dossiers », « Clips » et les brèves dans
la langue dans laquelle on se trouve (FR, EN ou ES). Sur le site en
prod (en 1.8.3) la recherche fonctionne parfaitement.
Par contre, sur le serveur de test, la page recherche ne retourne pas
les résultats provenant des rubriques définies mais seulement des
brèves.
Par exemple avec la recherche sur le mot « salvador », ça n’affiche
rien alors qu’il y a un article dans « Clips » et dans « Sélections
».
Par contre si je fais une recherche sur le mot « Québec » alors il y a
des résultats provenant des brèves.
Voici le code de la page:
<BOUCLE_rubrique(RUBRIQUES){lang}{racine}{id_rubrique !IN 25}>
<!-- un compteur -->
<?
$NbResults = 0; // initialisation du comptage
$NbResultsBreves = 0; // initialisation du comptage
$MaxPts = 0;
?>
<BOUCLE_compterub(RUBRIQUES){id_parent}{0,2}{par num titre}>
<BOUCLE_comptearticles(ARTICLES){recherche}{id_rubrique}{par points}
{inverse}>
<?
$NbResults++; // bête incrémentation (basique mais efficace)
if ($MaxPts==0) $MaxPts = #POINTS; // ?>
</BOUCLE_comptearticles>
</BOUCLE_compterub>
<BOUCLE_comptebreves(BREVES){id_rubrique}{recherche}>
<?
$NbResultsBreves++;
?>
</BOUCLE_comptebreves>
<?
$Total = $NbResults + $NbResultsBreves;
if ($Total==0){
$message = "<div class=\"textecourant\"><:recherche_nulle:></
div>";
echo $message;
}
?>
<!-- boucle Sélections et dossiers -->
<!-- boucle Sélections et dossiers -->
<B_rechercherub>
<BOUCLE_rechercherub(RUBRIQUES){id_parent}{tout}{0,2}{par num titre}
{"<br>"}>
<B_recherchearticles><span class="textecourant"><b>:: [(#TITRE|
supprimer_numero)]</b></span>
<BOUCLE_recherchearticles(ARTICLES){recherche}{id_rubrique}{par points}
{inverse}{0,50}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchearticles></BOUCLE_rechercherub><br></
B_rechercherub><//B_rechercherub>
</B_recherchearticles><//B_recherchearticles>
<!-- Fin boucle Sélections et dossiers -->
<!-- boucle Clips -->
<B_rechercherubclips>
<BOUCLE_rechercherubclips(RUBRIQUES){id_parent}{tout}{titre_mot=Clips}
{"<br>"}><B_recherchearticlesclips><span class="textecourant"><b>::
[(#TITRE|supprimer_numero)]</b></span>
<BOUCLE_recherchearticlesclips(ARTICLES){recherche}{id_rubrique}{par
points}{inverse}{0,50}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchearticlesclips></BOUCLE_rechercherubclips><br></
B_rechercherubclips><//B_rechercherubclips>
</B_recherchearticlesclips><//B_recherchearticlesclips>
<!-- Fin boucle Clips -->
<!-- boucle Brèves -->
<B_recherchebreves><span class="textecourant"><b>:: <:actualites:></
b></span>
<BOUCLE_recherchebreves(BREVES){id_rubrique}{recherche}{par points}
{par date}{inverse}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchebreves></B_recherchebreves><//B_recherchebreves>
<!-- Fin boucle Brèves -->
</BOUCLE_rubrique>
Pour info j’avais dû modifier le formulaire de recherche, mais je
pense que la variable est bien transmise; le code :
<form action="[(#ENV{lien})]" method="get"><div>
[(#ENV{lien}|form_hidden)]
[<input type="hidden" name="lang" value="(#ENV{lang})" />]
<label for="recherche"><:recherche_sur_francomix:></label>
<input type="text" size="18" name="recherche" id="recherche" [
value="(#ENV{recherche})"] /> <input type="submit" value="ok" />
</div>
</form>
Le site de test : http://www.elektrochoc.com/spip/musique-francophone.html
Le site en prod : http://www.francomix.com
Si vous faites des tests (sur le site de test), merci de ne les faire
que sur la home du site (les autres pages contiennent l’ancien
formulaire).
Voilà ; qu’est ce qui empêche le bon fonctionnement de la recherche,
que peut-il clocher dans le code ?
Merci d’avance
Phil