Je connais très bien cette forme de jointure pour l'utiliser souvent dans mes
squelettes. Mais ce que je voudrais c'est faire un truc comme pour le
référencement des documents dans un article, ou même un auteur.
Et j'amerais surtout une fonction qui soit transparente pour les utilisateurs de
mon plugins.
Cordialement,
Xavier BUROT
Selon chryjs <chryjs@free.fr>:
Xavier BUROT wrote:
> Bonjour,
>
> Je me trouve devant une petite difficulté. J'aimerais adjoindre à la table
> SPIP_RUBRIQUES le champs id_genea sans pour autant l'ajouter à cette table.
>
> J'ai lu la doc et j'ai vu que cela est possible avec $tables_relations
> (remplacées par $tables_jointures depuis la version 1.9.2).
>
> J'ai donc fait comme dans l'exemple, j'ai créé la table suivante :
> =====================================
> $spip_genea = array(
> "id_genea" => "BIGINT(21) NOT NULL AUTO_INCREMENT",
> "id_rubrique" => "BIGINT(21) DEFAULT '0' NOT NULL");
>
> $spip_genea_key = array(
> "PRIMARY KEY" => "id_genea, id_rubrique",
> "KEY id_rubrique" => "id_rubrique");
>
> $tables_principales[$table_prefix.'_genea'] = array(
> 'field' => &$spip_genea,
> 'key' => &$spip_genea_key);
>
> $table_des_tables['genea'] = "genea";
> $table_primary['genea'] = "id_genea";
> =====================================
> et j'ai inséré à la fin la déclaration suivante :
> $tables_jointures['rubriques']['id_genea'] = 'genea';
>
> Mais lorsque j'appelle la balise #ID_GENEA dans ma boucle RUBRIQUES rien ne
se
> passe.
>
> Quelqu'un aurait-il une idée d'où j'ai merdé ?
>
> Merci d'avance pour votre aide.
>
> Cordialement,
>
> Xavier BUROT
> http://xebiaut.free.fr
>
>
>
Heu je crois que pour la jointure il te faut aussi préciser avec quelle
"table" tu veux la faire donc :
SOIT une <BOUCLE_toto_(RUBRIQUES GENEA)...>
SOIT une imbrication <BOUCLE_titi(RUBRIQUES)... >
<BOUCLE_tutu(GENEA){id_rubrique}...>
Enfin j'avoue n'avoir pas creusé cette partie là de SPIP
Xavier BUROT a écrit :
> Bonjour,
>
> Je me trouve devant une petite difficulté. J'aimerais adjoindre à la table
> SPIP_RUBRIQUES le champs id_genea sans pour autant l'ajouter à cette table.
c'est une table de jointure vers une autre table, pour faire des
relations n<->n, c'est ca ?
>
> J'ai lu la doc et j'ai vu que cela est possible avec $tables_relations
> (remplacées par $tables_jointures depuis la version 1.9.2).
>
> J'ai donc fait comme dans l'exemple, j'ai créé la table suivante :
> =====================================
> $spip_genea = array(
> "id_genea" => "BIGINT(21) NOT NULL AUTO_INCREMENT",
> "id_rubrique" => "BIGINT(21) DEFAULT '0' NOT NULL");
>
> =====================================
> et j'ai inséré à la fin la déclaration suivante :
> $tables_jointures['rubriques']['id_genea'] = 'genea';
c'est plutot $tables_jointures['spip_rubriques'] = 'geneas_rubriques';
et sans doute sa reciproque : $tables_jointures['spip_geneas'] =
'geneas_rubriques';
Il n'y a pas de reciproque car la table spip_geneas_rubriques est là pour faire
l'interface entre une rubrique et les différentes tables qui composent l'arbre
généalogique.
>
> Mais lorsque j'appelle la balise #ID_GENEA dans ma boucle RUBRIQUES rien ne
se
> passe.
avec $tables_jointures['spip_rubriques'] au lieu de
$tables_jointures['rubriques'] ca devrait marcher
J'ai essayé et cela ne fonctionne pas. Une autre idée ?