source: spip-zone/_plugins_/_test_/plugin-thelia/base/spip_thelia_produits_associes.php @ 20786

Last change on this file since 20786 was 20786, checked in by apachot@…, 11 years ago

Nouvelle interface dans l'espace privé pour pouvoir associer un/des produits à une rubrique ou un article.

ensuite dans les squelettes, on peut utiliser 4 nouvelles boucles :

  • PRODUITS_ARTICLES : produits associés aux articles
  • RUBRIQUESTHELIA_ARTICLES : rubriques de produits associées aux articles
  • PRODUITS_RUBRIQUES : produits associés à des rubriques (spip)
  • RUBRIQUESTHELIA_RUBRIQUES : rubriques thélia associées à des rubriques spip

exemple pour afficher les produits associés à une rubrique :
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>

#TITRE
#TEXTE..etc

<B_produitsassocies>

produits associés :
<ul>
<BOUCLE_produitsassocies(PRODUITS_RUBRIQUES){id_rubrique)>

<THELIA_produits type="PRODUIT" id="#ID_PRODUIT">

<li> <a href="#URL_PAGE{produit,ref=THELIA-REF}">THELIA-TITRE</a> </li>

</THELIA_produits>

</BOUCLE_produitsassocies>
</ul>

</B_produitsassocies>

pas de produit associé

<B_produitsassocies>

</BOUCLE_rubrique>

File size: 3.2 KB
Line 
1<?php
2// -----------------------------------------------------------------------------
3// Declaration des tables associatives : articles_produits et rubriques_produits
4include_spip('base/serial'); // pour eviter une reinit posterieure des tables modifiees
5
6global $tables_principales;
7global $tables_auxiliaires;
8
9
10
11//-- Table produits_articles ------------------------------------------
12$spip_produits_articles = array(
13                "id_produit"    => "bigint(21) NOT NULL",
14                "id_article"    => "bigint(21) NOT NULL"
15                );
16
17$spip_produits_articles_key = array(
18        "PRIMARY KEY"   => "id_produit, id_article",
19        "KEY id_article" => "id_article");
20
21
22$tables_auxiliaires['spip_produits_articles'] = array(
23        'field' => &$spip_produits_articles,
24        'key' => &$spip_produits_articles_key);
25
26global $tables_jointures;
27$tables_jointures['spip_articles'][] = 'produits_articles';
28
29
30// 'spip_' dans l'index de $tables_principales
31global $table_des_tables;
32$table_des_tables['produits_articles']='produits_articles';
33       
34
35//-- Table produits_rubriques ------------------------------------------
36$spip_produits_rubriques = array(
37                "id_produit"    => "bigint(21) NOT NULL",
38                "id_rubrique"   => "bigint(21) NOT NULL"
39                );
40
41$spip_produits_rubriques_key = array(
42        "PRIMARY KEY"   => "id_produit, id_rubrique",
43        "KEY id_rubrique" => "id_rubrique");
44
45
46$tables_auxiliaires['spip_produits_rubriques'] = array(
47        'field' => &$spip_produits_rubriques,
48        'key' => &$spip_produits_rubriques_key);
49
50global $tables_jointures;
51$tables_jointures['spip_rubriques'][] = 'produits_rubriques';
52
53
54// 'spip_' dans l'index de $tables_principales
55global $table_des_tables;
56$table_des_tables['produits_rubriques']='produits_rubriques';
57       
58//-- Table rubriquesthelia_articles ------------------------------------------
59$spip_rubriquesthelia_articles = array(
60                "id_rubriquethelia"     => "bigint(21) NOT NULL",
61                "id_article"    => "bigint(21) NOT NULL"
62                );
63
64$spip_rubriquesthelia_articles_key = array(
65        "PRIMARY KEY"   => "id_rubriquethelia, id_article",
66        "KEY id_article" => "id_article");
67
68
69$tables_auxiliaires['spip_rubriquesthelia_articles'] = array(
70        'field' => &$spip_rubriquesthelia_articles,
71        'key' => &$spip_rubriquesthelia_articles_key);
72
73global $tables_jointures;
74$tables_jointures['spip_articles'][] = 'rubriquesthelia_articles';
75
76
77// 'spip_' dans l'index de $tables_principales
78global $table_des_tables;
79$table_des_tables['rubriquesthelia_articles']='rubriquesthelia_articles';
80       
81
82//-- Table rubriquesthelia_rubriques ------------------------------------------
83$spip_rubriquesthelia_rubriques = array(
84                "id_rubriquethelia"     => "bigint(21) NOT NULL",
85                "id_rubrique"   => "bigint(21) NOT NULL"
86                );
87
88$spip_rubriquesthelia_rubriques_key = array(
89        "PRIMARY KEY"   => "id_rubriquethelia, id_rubrique",
90        "KEY id_rubrique" => "id_rubrique");
91
92
93$tables_auxiliaires['spip_rubriquesthelia_rubriques'] = array(
94        'field' => &$spip_rubriquesthelia_rubriques,
95        'key' => &$spip_rubriquesthelia_rubriques_key);
96
97global $tables_jointures;
98$tables_jointures['spip_rubriques'][] = 'rubriquesthelia_rubriques';
99
100
101// 'spip_' dans l'index de $tables_principales
102global $table_des_tables;
103$table_des_tables['rubriquesthelia_rubriques']='rubriquesthelia_rubriques';
104       
105
106?>
Note: See TracBrowser for help on using the repository browser.