source: spip-zone/_plugins_/declinaisons/branches/v1/formulaires/panier_declinaison.php @ 110316

Last change on this file since 110316 was 110316, checked in by abelass@…, 16 months ago

v 2.0.1 Adaptation à prix_objets 2.0.0

Attention! Changement de manière d'enregistrement des déclinaisons (considéré comme extension maintenant).
Auparavant une seule ligne par prix avec une colone id_declinaison.

Maintenant chaque déclinaison/extension obtient sa probre ligne. Prix principal et extensions sont liés par id_prix_objet_source (les extensions prenant id_prix_objet comme id_prix_objet_source)

les extension son distuingiué par les colonnes extension et id_extension

File size: 2.0 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION"))
3        return;
4function formulaires_panier_declinaison_charger_dist($id_objet_produit, $objet_produit = 'article', $titre = '') {
5        include_spip('inc/session');
6        include_spip('inc/config');
7
8        $config = lire_config('declinaisons', array());
9        $formulaire_titre_complet = isset($config['formulaire_titre_complet']) ? $config['formulaire_titre_complet'] : 'on';
10
11        if ($titre == 'court') {
12                $formulaire_titre_complet = '';
13        }
14        elseif ($titre == 'complet') {
15                $formulaire_titre_complet = 'on';
16        }
17
18        if (is_array($id_objet_produit))
19                $id_objet_produit = implode(',', $id_objet_produit);
20                if ($id_objet_produit)
21                        $sql = sql_select(
22                                '*',
23                                'spip_prix_objets',
24                                'id_prix_objet_source=0 AND id_objet IN (' . $id_objet_produit . ') AND objet=' . sql_quote($objet_produit)
25                                );
26
27                        $declinaisons = array();
28
29                        $id_panier = session_get('id_panier');
30                        // S'il n'y a pas de panier, on le crée
31                        if (!$id_panier) {
32                                include_spip('inc/paniers');
33                                $id_panier = paniers_creer_panier();
34                        }
35
36                        while ($data = sql_fetch($sql)) {
37                                if (!$formulaire_titre_complet) {
38                                        $titre = explode(' - ', $data['titre']);
39                                        $data['titre'] = $titre[1];
40                                }
41
42                                if ($data['prix_ht'] != 0.00) {
43                                        $data['prix'] = $data['prix_ht'];
44                                        $data['taxe'] = _T('shop:prix_ht');
45                                }
46                                else {
47                                        $data['prix'] = $data['prix'];
48                                        $data['taxe'] = _T('prix_objets:prix_ttc');
49                                }
50                                $declinaisons[] = $data;
51                        }
52
53                        $valeurs = array(
54                                'objet_produit' => $objet_produit,
55                                'id_objet_produit' => $id_objet_produit,
56                                'objet' => 'prix',
57                                'id_objet' => '',
58                                'declinaisons' => $declinaisons,
59                                'id_prix_objet' => '',
60                                'retour' => ''
61                        );
62
63                        return $valeurs;
64}
65function formulaires_panier_declinaison_traiter_dist($id_objet, $objet = 'article') {
66        $remplir_panier = charger_fonction('remplir_panier', 'action/');
67
68        $remplir_panier('prix_objet-' . _request('id_prix_objet'));
69
70        include_spip('inc/invalideur');
71        suivre_invalideur("id='id_panier/$id_panier'");
72
73        $valeurs['message_ok'] = true;
74
75        return $valeurs;
76}
Note: See TracBrowser for help on using the repository browser.