Critère {!titre_mot=ZZZ} ne marche pas sur (RUBRIQUES) #2093

Closed
opened 10 years ago by RealET · 4 comments
RealET commented 10 years ago

La boucle (qui marchait en 2.1)
<BOUCLE_MenuHaut(RUBRIQUES){!titre_mot=PasDansMenu}> #ID_RUBRIQUE </BOUCLE_MenuHaut>

génère une erreur MySQL :
Erreur SQL 1241 Operand should contain 1 column(s) SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre FROM spip_rubriques AS rubriquesWHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet, L1.id_objet AS id_rubrique FROM spip_mots_liens ASL1 INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'PasDansMenu')))) GROUP BY rubriques.id_rubrique

Sans le !, il n'y a pas d'erreur.

La boucle (qui marchait en 2.1) ` <BOUCLE_MenuHaut(RUBRIQUES){!titre_mot=PasDansMenu}> #ID_RUBRIQUE </BOUCLE_MenuHaut> ` génère une erreur MySQL : ` Erreur SQL 1241 Operand should contain 1 column(s) SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre FROM spip_rubriques AS `rubriques` WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet, L1.id_objet AS id_rubrique FROM spip_mots_liens AS `L1` INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'PasDansMenu')))) GROUP BY rubriques.id_rubrique ` Sans le !, il n'y a pas d'erreur.

Le problème survient aussi sur les boucles ARTICLES, SITES, BREVES et FORUMS

Le problème survient aussi sur les boucles ARTICLES, SITES, BREVES et FORUMS
Poster

L'erreur a changée (même fichier bug.html) :

Erreur SQL 1241
Operand should contain 1 column(s) 
SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre 
    FROM spip_rubriques AS `rubriques`  
    WHERE (rubriques.statut = 'publie')  
        AND NOT((rubriques.id_rubrique IN 
           ( SELECT L1.id_objet, L1.id_objet AS id_rubrique 
                 FROM spip_mots_liens AS `L1` 
                      INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) 
                 WHERE (L2.titre = 'PasDansMenu')))) 
    GROUP BY rubriques.id_rubrique

L1.id_objet, L1.id_objet AS id_rubrique est faux
L1.id_objet AS id_rubrique suffirait (j'ai testé la requête dans mysql, elle fonctionne une fois corrigée ainsi)

L'erreur a changée (même fichier bug.html) : <pre> Erreur SQL 1241 Operand should contain 1 column(s) SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre FROM spip_rubriques AS `rubriques` WHERE (rubriques.statut = 'publie') AND NOT((rubriques.id_rubrique IN ( SELECT L1.id_objet, L1.id_objet AS id_rubrique FROM spip_mots_liens AS `L1` INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot ) WHERE (L2.titre = 'PasDansMenu')))) GROUP BY rubriques.id_rubrique </pre> _L1.id_objet, L1.id_objet AS id_rubrique_ est faux _*L1.id_objet AS id_rubrique*_ suffirait (j'ai testé la requête dans mysql, elle fonctionne une fois corrigée ainsi)
Collaborator

voir #2125

voir #2125
Owner

Appliqué par commit r18181.
Statut changé à Fermé

Appliqué par commit r18181. **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.