Fork me on GitHub




(1) 2 3 4 »


Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Bonjour ...

Une "énigme" ! Le menu "Parcourir par lettre" qui permet filtrer les entrées par leur 1ère lettre ne fonctionne pas.

Ou plutôt, sur un site il fonctionne, et sur un autre il ne fonctionne pas (seul "Tout" et "Autre" sont actifs. Les lettres ne sont pas actives !?

Moi pas comprendre pourquoi ! Une réponse siouplait ?

Posté le : 25/08/2012 14:52

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
les lettres s'activent seulement lorsqu'il y a une définition commence par cette lettre,ensuite il se peut que cela provienne du "charset", l'un des sites est en iso et l'autre en UTF-8 alors que les définitions sont dans le charset opposé

Posté le : 25/08/2012 16:40
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Merci pour la réponse.
Je suppose que tu veux dire lorsqu'un terme (pas une def.) commence par une lettre ...
Sinon pour le charset je vais vérifier, c'est une piste.
Si c'était ça il faudrait modifier quoi au niveau du module ?

Posté le : 25/08/2012 23:05

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
je dirai plutôt coté base de données a vérifier en premier si le charset des tables du module sont identiques au charset du xoops.

Posté le : 26/08/2012 01:13
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Oui de ce côté là pas de prob.
Par contre comme c'est un module déjà ancien je vais vérifier si dans les templates ou même les fichiers php il n'y aurait pas des charset internes au module.

Je pense toutefois que le prob n'est pas ici, les deux sites sont en utf-8, je vérifierai ça ce soir après le boulot.

Posté le : 26/08/2012 08:44

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
Cela peut aussi provenir d'une variante dans les versions du couple PHP/MySQL (dans le cas ici je dirais plutôt MySQL).

Pour vérifier cela rien de plus simple, tu passes en mode "debug" sur le site où le menu par lettres ne fonctionnent pas, puis tu vas sur le module 'lexicon'. Là tu regardes dans le mode "debug" si il n'y a pas d'erreurs, surtout dans la section requête. Si il y a une ligne en rouge dans la liste des requêtes, il faudra modifier un des fichiers du module.

Posté le : 26/08/2012 09:14
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Les seules erreurs renvoyées sont :

Citation :
MyTextSanitizer::makeTboxData4Show is deprecated


Mais les msg d'erreur précisent que c'est dans tree.php , et je ne pense pas que cela soit la cause.

Posté le : 26/08/2012 19:57

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
A part ça ce qui gère ce menu de filtrage c'est :

Dans le fichier lx_header.html
Citation :
<{foreach item=letterlinks from=$alpha.initial}>
<{if $letterlinks.total > 0}>
<a href="<{$xoops_url}>/modules/<{$lang_moduledirname}>/letter.php?init=<{$letterlinks.id}>" title="[ <{$letterlinks.total}> ]" >
<{/if}>
<{$letterlinks.linktext}>
<{if $letterlinks.total > 0}></a><{/if}> |
<{/foreach}>


Dans functions.php
Citation :
function lx_alphaArray ()
{
global $xoopsUser, $xoopsDB, $xoopsModule;
$alpha = array();
for ($a = 65; $a < (65+26); $a++ )
{
$letterlinks = array();
$initial = chr($a);
$sql = $xoopsDB -> query ( "SELECT * FROM " . $xoopsDB -> prefix ( "lxentries") . " WHERE init = '$initial' " );
$howmany = $xoopsDB -> getRowsNum( $sql );
$letterlinks['total'] = $howmany;
$letterlinks['id'] = chr($a);
$letterlinks['linktext'] = chr($a);

$alpha['initial'][] = $letterlinks;
}
return $alpha;
}


Donc si $letterlinks['total'] égal 0 la lettre ne s'affiche pas comme lien.

Question:
S'agit-il d'un problème de transmission de variable ?

Remarque:
Pas de problème sur un autre site qui utiise une version php/mysql plus récente. Mais ce module est ancien et fonctionne sur des versions php plus anciennes ...

Posté le : 26/08/2012 20:20

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Remarque intéressante !

Je travaille aussi sur ces deux sites en local, donc avec une même version php/mysql ... et je retrouve la même différence ! OK sur l'un, pas bon sur l'autre !

Seule différence ... la version de xoops.

OK : XOOPS 2.5.x
Pas bon: XOOPS 2.4.5



(Et aucun message d'erreur renvoyé en debug)

Posté le : 26/08/2012 20:31

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Lexikon: Parcourir par lettre
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Confirmation qu'il s'agit d'un problème de transmission ou calcul de variable.

J'ai fait afficher les valeur de letterlinks.total à côté de chaque lettre du filtre.

Sur le site qui fonctionne chaque lettre ayant une entrée possède un 'letterlinks.total' égal au nbre d'entrées.

Sur le site qui ne fonctionne pas chaque lettre a un 'letterlinks.total' égal à zéro.

La variable reste à zéro ... ce qui nous ramène au message #8 de cette discussion.

Posté le : 26/08/2012 20:43

signé: LionHell
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 4 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

14 Personne(s) en ligne (9 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 14 | Plus ...