Bonjour a tous,
J'ai a faire un spip ou l'ordre d'affichage des rubriques sera déterminé par un mot clef appliqué par rubrique...
J'ai donc pensé faire ceci :
<BOUCLE_mot_tri(MOTS){id_rubrique}{id_mot=127}>
[(#SET{classement,num titre})]
</BOUCLE_mot_tri>
[(#SET{classement,date})]
<//B_mot_tri>
Au début de mon squelette pour déterminer si le tri sera pas num titre s'il a le bon mot clef ou par date si le mot clef n'est pas appliqué à la rubrique.
Dans mon affichage je me retrouve avec :
<BOUCLE_toutes_les_nouveautes(ARTICLES){id_rubrique}{par (#GET**{classement})}{doublons}>
...
</BOULE_toutes_les_nouveautes>
Si la rubrique n'a pas le mot clef, tout est Ok... il fait son affichage par date...
Mais si c'est par num titre, dans le ritere, l'espace entre num et titre est effacé et j'obtiens une erreur "Unknown column 'numtitre' in 'order clause'"
Si je change le set plus haut pour juste titre au lieu de num titre, tout baigne...
J'ai essayé de faire un get*{classement} a la place, et l'espace entre num et titre est toujours flushé...
Quelqu'un a une solution ? Ou une autre méthode ?
Merci !
Au Plaisir !
--
David Fredette
Coordonnateur Technique Certifié Apple
david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca
"Sois toujours sourd quand quelqu'un te dit que tu ne peux réaliser tes rêves"
- Pensée transmise par une amie -
Bonsoir,
Le 14 nov. 07 à 18:19, David Fredette a écrit :
Bonjour a tous,
J'ai a faire un spip ou l'ordre d'affichage des rubriques sera
déterminé par un mot clef appliqué par rubrique...
J'ai donc pensé faire ceci :
<BOUCLE_mot_tri(MOTS){id_rubrique}{id_mot=127}>
[(#SET{classement,num titre})]
</BOUCLE_mot_tri>
[(#SET{classement,date})]
<//B_mot_tri>
Au début de mon squelette pour déterminer si le tri sera pas num
titre s'il a le bon mot clef ou par date si le mot clef n'est pas
appliqué à la rubrique.
Dans mon affichage je me retrouve avec :
<BOUCLE_toutes_les_nouveautes(ARTICLES){id_rubrique}{par (#GET**
{classement})}{doublons}>
...
</BOULE_toutes_les_nouveautes>
Si la rubrique n'a pas le mot clef, tout est Ok... il fait son
affichage par date...
Mais si c'est par num titre, dans le ritere, l'espace entre num et
titre est effacé et j'obtiens une erreur "Unknown column 'numtitre'
in 'order clause'"
Si je change le set plus haut pour juste titre au lieu de num titre,
tout baigne...
J'ai essayé de faire un get*{classement} a la place, et l'espace
entre num et titre est toujours flushé...
juste une idée avant que les bons ne te donnent la solution 
Avant d'arriver à ta remarque, j'avais déjà tiqué sur cet espace,
il te faut trouver un moyen de l'échapper, peut-être avec des simples quotes comme ça 'num titre' ?
Au Plaisir !
--
David Fredette
Coordonnateur Technique Certifié Apple
C'est l'inconvénient de Mac OS : jamais il ne nous a embêtés pour des histoires d'espaces dans les noms,
du coup, on prend des mauvaises habitudes ;-))
Michel
Malheureusement, c'est déjà essayé, même résultat !!! 
Au Plaisir !
--
David Fredette
Coordonnateur Technique Certifié Apple
david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca
"Sois toujours sourd quand quelqu'un te dit que tu ne peux réaliser tes rêves"
- Pensée transmise par une amie -
Le 07-11-14 à 13:42, Michel a écrit :
juste une idée avant que les bons ne te donnent la solution 
Avant d'arriver à ta remarque, j'avais déjà tiqué sur cet espace,
il te faut trouver un moyen de l'échapper, peut-être avec des simples
quotes comme ça 'num titre' ?
David Fredette a écrit :
Malheureusement, c'est déjà essayé, même résultat !!! 
non, je crois que c'est pas compatible avec num de passer le tri en parametre, le traitement de num est un peu special
regarde dans critere_parinverse (/public/criteres.php), le num n'est traité que quand c'est du texte.
Ceci dit si tu veux ameliorer tu peux...
mais au stade de la compilation, on ne sait pas si ca contient du num ou pas, donc c'est un peu compliqué.
il faudrait produire du code capable de gerer la presence de num ou pas, bref, ca alourdirait tout le traitement pour quelques cas particuliers.
c'est deja le cas pour etre capable de gerer "hasard", ce qui en soit n'est pas genial.
la, amha, il vaut mieux faire 2 inclures, en appelant un ou l'autre en fonction de la valeur passée, pour pouvoir traiter le num titre à part.
@++
David Fredette a écrit :
Malheureusement, c'est déjà essayé, même résultat !!! 
Au Plaisir !
--
David Fredette
Coordonnateur Technique Certifié Apple
david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca
"Sois toujours sourd quand quelqu'un te dit que tu ne peux réaliser tes rêves"
- Pensée transmise par une amie -
Le 07-11-14 à 13:42, Michel a écrit :
juste une idée avant que les bons ne te donnent la solution 
Avant d'arriver à ta remarque, j'avais déjà tiqué sur cet espace,
il te faut trouver un moyen de l'échapper, peut-être avec des simples
quotes comme ça 'num titre' ?
_______________________________________________
Ca me parait assez logique où dans la mesure ou tu mets dans la variable, le numero titre qui n'est pas un champ de table. Donc dans ta boucle
<BOUCLE_toutes_les_nouveautes(ARTICLES){id_rubrique}{par (#GET**
{classement})}
tu demandes de chercher un champ qui s'appelle la valeur de ta variable!
<doc :
Les balises #SET et #GET permettant d'affecter des variables locales aux squelettes
#SET{mavariable,valeur} affecte mavariable avec valeur et renvoie valeur
Pour ne rien renvoyer, appliquer le filtre rien :
[(#SET{mavariable,valeur}|rien)]
#GET{mavariable} recupere la valeur
Elles sont distinctes des variables d'environnement (#SET{date,''}
C'est donc normal que titre fonctionne car titre est bien un champ de table
Enfin pour finir j'ai reperé dans ton mail un </BOULE_toutes_les_nouveautes>
Sans doute une erreur de frappe lors de la redaction du mail?
Bernard
Le 07-11-14 à 16:41, monnaieancienne a écrit :
Ca me parait assez logique où dans la mesure ou tu mets dans la variable, le numero titre qui n'est pas un champ de table. Donc dans ta boucle
<BOUCLE_toutes_les_nouveautes(ARTICLES){id_rubrique}{par (#GET**
{classement})}
tu demandes de chercher un champ qui s'appelle la valeur de ta variable!
Je ne demande pas de chercher un champ... Je veux que les articles soient classé par num titre ... Comme le critère de classement {par num titre}
<doc :
Les balises #SET et #GET permettant d'affecter des variables locales aux squelettes
#SET{mavariable,valeur} affecte mavariable avec valeur et renvoie valeur
Pour ne rien renvoyer, appliquer le filtre rien :
[(#SET{mavariable,valeur}|rien)]
#GET{mavariable} recupere la valeur
Elles sont distinctes des variables d'environnement (#SET{date,''}
C'est donc normal que titre fonctionne car titre est bien un champ de table
Enfin pour finir j'ai reperé dans ton mail un </BOULE_toutes_les_nouveautes>
Sans doute une erreur de frappe lors de la redaction du mail?
En effet, c'est une erreur...
Mais existe-t-il aussi d'autre façon d'établir le classement des article a partir d'un mot clef associé à la rubrique ?
Au Plaisir !
--
David Fredette
Coordonnateur Technique Certifié Apple
david.fredette@visioninfo.qc.ca
www.visioninfo.qc.ca
"Prenez bien garde à ce que vous lui mettez en tête car vous ne pourrez jamais, jamais, l'en faire sortir."
- Berkeley -
David Fredette wrote:
Le 07-11-14 à 16:41, monnaieancienne a écrit :
Ca me parait assez logique où dans la mesure ou tu mets dans la
variable, le numero titre qui n'est pas un champ de table. Donc
dans ta boucle
<BOUCLE_toutes_les_nouveautes(ARTICLES){id_rubrique}{par (#GET**
{classement})}
tu demandes de chercher un champ qui s'appelle la valeur de ta
variable!
Je ne demande pas de chercher un champ... Je veux que les articles
soient classé par num titre ... Comme le critère de classement {par
num titre}
<doc :
Les balises #SET et #GET permettant d'affecter des variables
locales aux squelettes
#SET{mavariable,valeur} affecte mavariable avec valeur et renvoie
valeur
Pour ne rien renvoyer, appliquer le filtre rien :
[(#SET{mavariable,valeur}|rien)]
#GET{mavariable} recupere la valeur
Elles sont distinctes des variables d'environnement (#SET{date,''}
C'est donc normal que titre fonctionne car titre est bien un champ
de table
Enfin pour finir j'ai reperé dans ton mail un </
BOULE_toutes_les_nouveautes>
Sans doute une erreur de frappe lors de la redaction du mail?
En effet, c'est une erreur...
Mais existe-t-il aussi d'autre façon d'établir le classement des
article a partir d'un mot clef associé à la rubrique ?
Au Plaisir !
Avec des INCLURE ou des MODELE...
Exemple:
[(#GET{classement}|=={num titre}|?{' ',''})
<INCLURE{fond=inc-toutes_les_nouveautes_par_num_titre}{id_rubrique}>
[(#GET{classement}|=={autre chose}|?{' ',''})
<INCLURE{fond=inc-toutes_les_nouveautes_par_autre_chose}{id_rubrique}>
Et tu mets dans chacun la bonne boucle avec le bon critère de tri...
C'est une façon!
François