Filtre !mots.titre se comporte différemment dans spip 3.0.6 #2962

Closed
opened 11 years ago by miros · 5 comments
miros commented 11 years ago

Bonjour,

Avec 3.0.5 :
<BOUCLE_rubriques(RUBRIQUES){!mots.titre=Mon mot clé}> renvoyait les rubriques sauf celles associé à «Mon mot clé».

Avec 3.0.6 : je n'ai pas le même comportement dans certains cas de figure.
Ici, mon mot clé correspond à id_mot=39.

Dans spip_mots_liens, j'ai ceci pour la requête SELECT * FROM spip_mots_liensWHEREid_mot = '39'
|id_mot| id_objet| objet|
|39| 92| article|

<BOUCLE_rubriques(RUBRIQUES){!mots.titre=Mon mot clé}> ne renvoie pas la même chose : la rubriques n°92 n'est plus présente (pourtant, elle n'est pas associée à ce mot-clé...).
Ici l'article 92 associé au mot-clé mets le bronx pour cette rubrique 92...

Testé sans plugin.

Bonjour, Avec 3.0.5 : <BOUCLE_rubriques(RUBRIQUES){!mots.titre=Mon mot clé}> renvoyait les rubriques sauf celles associé à «Mon mot clé». Avec 3.0.6 : je n'ai pas le même comportement dans certains cas de figure. Ici, mon mot clé correspond à id_mot=39. Dans spip_mots_liens, j'ai ceci pour la requête `SELECT * FROM `spip_mots_liens` WHERE `id_mot` = '39'` |id_mot| id_objet| objet| |39| 92| article| <BOUCLE_rubriques(RUBRIQUES){!mots.titre=Mon mot clé}> ne renvoie pas la même chose : la rubriques n°92 n'est plus présente (pourtant, elle n'est pas associée à ce mot-clé...). Ici l'article 92 associé au mot-clé mets le bronx pour cette rubrique 92... Testé sans plugin.
miros commented 11 years ago
Poster

Pour compléter :
Ce type de filtre !mots.titre est présent dans ScolaSPIP :
http://zone.spip.org/trac/spip-zone/browser/squelettes/scolaspip/trunk/navigation/dist.html
et plus accessoirement dans 2 fichiers.

Pour compléter : Ce type de filtre !mots.titre est présent dans ScolaSPIP : http://zone.spip.org/trac/spip-zone/browser/_squelettes_/scolaspip/trunk/navigation/dist.html et plus accessoirement dans 2 fichiers.
Owner

ah oui, en effet, c'est ennuyeux...
3.0.5 on a bien le AND L1.objet='rubrique'
SELECT rubriques.id_rubrique, rubriques.titre, rubriques.lang FROM spip_rubriques AS 'rubriques' WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet AS id FROM spip_mots_liens AS 'L1' INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'test') AND L1.objet='rubrique'))) GROUP BY rubriques.id_rubrique

3.0.6
SELECT rubriques.id_rubrique, rubriques.titre, rubriques.lang FROM spip_rubriques AS 'rubriques' WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet AS id FROM spip_mots_liens AS 'L1' INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'test')))) GROUP BY rubriques.id_rubrique

ah oui, en effet, c'est ennuyeux... 3.0.5 on a bien le AND L1.objet='rubrique' ` SELECT rubriques.id_rubrique, rubriques.titre, rubriques.lang FROM spip_rubriques AS 'rubriques' WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet AS id FROM spip_mots_liens AS 'L1' INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'test') AND L1.objet='rubrique'))) GROUP BY rubriques.id_rubrique ` 3.0.6 ` SELECT rubriques.id_rubrique, rubriques.titre, rubriques.lang FROM spip_rubriques AS 'rubriques' WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet AS id FROM spip_mots_liens AS 'L1' INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'test')))) GROUP BY rubriques.id_rubrique `
Owner

c'est r20066 qui casse :(

c'est r20066 qui casse :(
Suske commented 11 years ago
Owner

On ferme
Assigné à cedric
Statut changé à Résolu

On ferme **Assigné à cedric** **Statut changé à Résolu**
Owner

Statut changé à Fermé

**Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: spip/spip#2962
Loading…
There is no content yet.