source: spip-zone/_plugins_/contacts_et_organisations/branches/v1/test/co_jointures.html @ 69670

Last change on this file since 69670 was 69670, checked in by marcimat@…, 8 years ago

Les échappements de SPIP 3 ne fonctionnent pas en SPIP 2 évidemment. Changeons les.

File size: 5.2 KB
Line 
1<INCLURE{fond=test/co_inc-entete,page,titre=C&O : Jointures} />
2
3<p class='clearfix'>Quelques boucles très particulières que l'on souhaite surveiller !</p>
4
5
6
7
8<h1>Jointure Auteurs - contacts</h1>
9
10<div class='description'>
11
12<p>Lister les auteurs - contacts d'un coup (depuis la table auteurs).</p>
13
14<pre>
15&lt;BOUCLE_auteurs(AUTEURS contacts)>
16</pre>
17
18<p>
19Cette jointure <code>AUTEURS contacts</code> pose problème à SPIP 3
20(Voir <a href="http://core.spip.org/issues/2940">http://core.spip.org/issues/2940</a>)
21qui ne joint pas sur le bon champ.
22</p>
23
24<p>
25Il faut pour l'instant ajouter à la boucle <code>(AUTEURS)</code> le critère
26<code>{contacts_auteurs}</code> qui en plus de réaliser une jointure
27correcte permet d'utiliser les balises <code>[(#VAL{#})]NOM_CONTACT</code>,
28<code>[(#VAL{#})]PRENOM_CONTACT</code>, <code>[(#VAL{#})]CIVILITE_CONTACT</code> sur la boucle
29<code>AUTEURS</code>.
30</p>
31
32<pre>
33&lt;BOUCLE_auteurs(AUTEURS){contacts_auteurs}>
34        [(#VAL{#})]NOM
35        [(#VAL{#})]NOM_CONTACT (table contacts)
36        ...
37</pre>
38</div>
39
40
41<B_auteurs>
42        <ul class='exemple'>
43<BOUCLE_auteurs(AUTEURS){contacts_auteurs}{pagination 3}>
44                <li class='espacer'>
45                        [(#VAL{#})]NOM : #NOM,<br />
46                        [(#VAL{#})]PRENOM : #PRENOM,<br />
47                        [(#VAL{#})]NOM_CONTACT : #NOM_CONTACT,<br />
48                        [(#VAL{#})]PRENOM_CONTACT : #PRENOM_CONTACT,
49                </li>
50</BOUCLE_auteurs>
51        [(#PAGINATION|?{<li></li>})]
52        </ul>
53</B_auteurs>
54
55
56
57
58
59<h1>Jointure Auteurs - contacts - articles</h1>
60
61<div class='description'>
62<p>Lister les auteurs - contacts avec critère sur la table articles.</p>
63
64<p>Cette triple jointure posait problème à SPIP 2, verifions là. Pour
65le moment, il faut d'abord corriger la jointure <code>AUTEURS contacts</code>.
66</p>
67
68<pre>
69&lt;BOUCLE_auteurs(AUTEURS contacts){articles.id_secteur=1}>
70</pre>
71
72<p>Donc on utilise : </p>
73
74<pre>
75&lt;BOUCLE_auteurs(AUTEURS){contacts_auteurs}{articles.id_secteur=1}>
76</pre>
77
78</div>
79
80
81<B_auteurs2>
82        <ul class='exemple'>
83<BOUCLE_auteurs2(AUTEURS){contacts_auteurs}{articles.id_secteur=1}{pagination 3}>
84                <li class='espacer'>
85                        [(#VAL{#})]NOM : #NOM,<br />
86                        [(#VAL{#})]PRENOM : #PRENOM, (table contact)<br />
87                        [(#VAL{#})]NOM_CONTACT : #NOM_CONTACT, (table contact)<br />
88                        [(#VAL{#})]PRENOM_CONTACT : #PRENOM_CONTACT (table contact)
89                </li>
90</BOUCLE_auteurs2>
91        [(#PAGINATION|?{<li></li>})]
92        </ul>
93</B_auteurs2>
94
95
96
97
98
99<h1>Jointure Contacts - auteurs</h1>
100
101<div class='description'>
102
103<p>Lister les auteurs - contacts d'un coup (depuis la table contacts).</p>
104
105<pre>
106&lt;BOUCLE_auteurs(CONTACTS auteurs)>
107</pre>
108
109<p>
110Cette jointure <code>CONTACTS auteurs</code> fonctionne en SPIP 3, contrairement
111à l'inverse. Cependant elle ne permet pas d'obtenir le champ  <code>[(#VAL{#})]NOM</code>
112de la table <code>auteurs</code>
113</p>
114
115<p>
116Si on souhaite obtenir ce champ, il faut utiliser le critère <code>{contacts_auteurs}</code>
117qui en plus de réaliser la jointure, permet d'utiliser la balise <code>[(#VAL{#})]NOM_AUTEUR</code>,
118 sur la boucle <code>CONTACTS</code>.
119</p>
120
121<pre>
122&lt;BOUCLE_auteurs(CONTACTS){contacts_auteurs}>
123        [(#VAL{#})]NOM
124        [(#VAL{#})]NOM_AUTEUR (table auteurs)
125        ...
126</pre>
127</div>
128
129
130<B_contacts>
131        <ul class='exemple'>
132<BOUCLE_contacts(CONTACTS){contacts_auteurs}{pagination 3}>
133                <li class='espacer'>
134                        [(#VAL{#})]NOM : #NOM,<br />
135                        [(#VAL{#})]PRENOM : #PRENOM,<br />
136                        [(#VAL{#})]LOGIN : #LOGIN, (table auteur)<br />
137                        [(#VAL{#})]NOM_AUTEUR : #NOM_AUTEUR (table auteur)
138                </li>
139</BOUCLE_contacts>
140        [(#PAGINATION|?{<li></li>})]
141        </ul>
142</B_contacts>
143
144
145
146
147
148<h1>Jointure Auteurs - organisations</h1>
149
150<div class='description'>
151
152<p>Lister les auteurs - organisations d'un coup (depuis la table auteurs).
153Voir la jointure auteurs-contacts pour des explications supplémentaires</p>
154
155<p>Il faut ajouter à la boucle <code>(AUTEURS)</code> le critère
156<code>{organisations_auteurs}</code> qui en plus de réaliser une jointure
157correcte permet d'utiliser la balise <code>[(#VAL{#})]NOM_ORGANISATION</code> sur la boucle
158<code>AUTEURS</code>.
159</p>
160
161<pre>
162&lt;BOUCLE_auteurs(AUTEURS){organisations_auteurs}>
163        [(#VAL{#})]NOM
164        [(#VAL{#})]NOM_ORGANISATION (table organisation)
165        ...
166</pre>
167</div>
168
169
170<B_auteurs3>
171        <ul class='exemple'>
172<BOUCLE_auteurs3(AUTEURS){organisations_auteurs}{pagination 3}>
173                <li class='espacer'>
174                        [(#VAL{#})]NOM : #NOM,<br />
175                        [(#VAL{#})]NOM_ORGANISATION : #NOM_ORGANISATION
176                </li>
177</BOUCLE_auteurs3>
178        [(#PAGINATION|?{<li></li>})]
179        </ul>
180</B_auteurs3>
181
182
183
184
185
186<h1>Jointure Organisations - auteurs</h1>
187
188<div class='description'>
189
190<p>Lister les auteurs - organisations d'un coup (depuis la table organisations).
191Voir jointure contacts-auteurs pour des explications supplémentaires.</p>
192
193<p>
194Il faut utiliser le critère <code>{organisations_auteurs}</code>
195qui en plus de réaliser la jointure, permet l'usage de la balise <code>[(#VAL{#})]NOM_AUTEUR</code>,
196sur la boucle <code>ORGANISATIONS</code>.
197</p>
198
199<pre>
200&lt;BOUCLE_auteurs(ORGANISATIONS){organisations_auteurs}>
201        [(#VAL{#})]NOM
202        [(#VAL{#})]NOM_AUTEUR (table auteurs)
203        ...
204</pre>
205</div>
206
207
208<B_organisations>
209        <ul class='exemple'>
210<BOUCLE_organisations(ORGANISATIONS){organisations_auteurs}{pagination 3}>
211                <li class='espacer'>
212                        [(#VAL{#})]NOM : #NOM,<br />
213                        [(#VAL{#})]NOM_AUTEUR : #NOM_AUTEUR (table auteur)
214                </li>
215</BOUCLE_organisations>
216        [(#PAGINATION|?{<li></li>})]
217        </ul>
218</B_organisations>
219
220
221
222<INCLURE{fond=test/co_inc-pied} />
Note: See TracBrowser for help on using the repository browser.