Changeset 109719 in spip-zone


Ignore:
Timestamp:
Mar 28, 2018, 6:02:37 PM (16 months ago)
Author:
nicolas.dorigny@…
Message:

On peut classer les groupes et les options avec Rang
(plus une fonction vide pour éviter une erreur s'il n'est pas actif)

Location:
_plugins_/optionsproduits/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/optionsproduits/trunk/base/optionsproduits.php

    r109612 r109719  
    8181                        'id_optionsgroupe' => 'id_optionsgroupe',
    8282                ),
    83 
     83                'parent'            => array(
     84                        array('type' => 'optionsgroupe', 'champ' => 'id_optionsgroupe'),
     85                ),
    8486        );
    8587
  • _plugins_/optionsproduits/trunk/formulaires/options_liees_objet.html

    r109612 r109719  
    2121                        <tbody>
    2222                                <BOUCLE_options_liees(OPTIONS spip_options_liens spip_optionsgroupes)
    23                                         {par num titre_groupe, options_liens.prix_option_objet, num titre}
     23                                        {par rang, num titre_groupe, options_liens.prix_option_objet, num titre}
    2424                                        {options_liens.objet=#ENV{objet}}{options_liens.id_objet=#ENV{id_objet}}{si #ENV{modifier_option}|non}>
    2525                               
     
    8585                                <select id="ajout_option_groupe_#ID_OPTIONSGROUPE" name="id_option_groupe_#ID_OPTIONSGROUPE">
    8686                                <option value=""></option>
    87                                 <BOUCLE_options(OPTIONS){par prix_defaut, num titre}{id_optionsgroupe}{id_option !IN #GET{options_liees}}>
     87                                <BOUCLE_options(OPTIONS){par rang, prix_defaut, num titre}{id_optionsgroupe}{id_option !IN #GET{options_liees}}>
    8888                                <option value="#ID_OPTION">#TITRE : [(#PRIX_DEFAUT|prix_formater)]</option>
    8989                                </BOUCLE_options>
  • _plugins_/optionsproduits/trunk/formulaires/panier_produit_options.html

    r109612 r109719  
    88                [(#REM) les options listées par groupe ]
    99                #SET{options, #ENV{options}|explode{|}}
    10                 <BOUCLE_optionsgroupes(OPTIONSGROUPES){par titre_groupe}>
     10                <BOUCLE_optionsgroupes(OPTIONSGROUPES){par rang, titre_groupe}>
    1111                <B_radio>
    1212                        <div class="editer editer_radio editer_options_produit">
    1313                                <label>#TITRE_GROUPE</label>
    14                                 <BOUCLE_radio(OPTIONS){id_optionsgroupe}{options_liens.objet=produit}{options_liens.id_objet=#ID_PRODUIT}{par prix_option_objet}{doublons}>
     14                                <BOUCLE_radio(OPTIONS){id_optionsgroupe}{options_liens.objet=produit}{options_liens.id_objet=#ID_PRODUIT}{par rang, prix_option_objet}{doublons}>
    1515                                [(#SET{prix_option, #PRIX_OPTION*{produit,#ID_PRODUIT,#ID_OPTION}})]
    1616                                [(#SET{prix_option_seule, #GET{prix_option}|moins{#GET{prix}}})]
  • _plugins_/optionsproduits/trunk/optionsproduits_fonctions.php

    r109612 r109719  
    6363        return $p;
    6464}
     65
     66// éviter une erreur si le plugin Rang n'est pas activé
     67$f = chercher_filtre('info_plugin');
     68if(!$f('rang','est_actif')) {
     69        function rang_objet_dans_config() { }
     70}
  • _plugins_/optionsproduits/trunk/optionsproduits_pipelines.php

    r109612 r109719  
    141141        return $flux;
    142142}
     143
     144/**
     145 * Déclarer les contextes pour le plugin Rang
     146 *
     147 * @pipeline rang_declarer_contexte
     148 *
     149 * @param  array $contexte Données du pipeline
     150 *
     151 * @return array       Données du pipeline
     152 */
     153function optionsproduits_rang_declarer_contexte($contexte) {
     154        $contexte[] = 'options';
     155        $contexte[] = 'optionsgroupe';
     156        $contexte[] = 'optionsgroupes';
     157        //debug($contexte);
     158        return $contexte;
     159}
  • _plugins_/optionsproduits/trunk/paquet.xml

    r109612 r109719  
    22        prefix="optionsproduits"
    33        categorie="divers"
    4         version="1.0.0"
     4        version="1.0.1"
    55        etat="test"
    66        compatibilite="[3.1.0;3.2.*]"
     
    2020        <utilise nom="paniers" compatibilite="[1.3.0;]" />
    2121        <utilise nom="commandes" compatibilite="[1.15.0;]" />
    22 
     22        <utilise nom="rang" compatibilite="[0.7.14;]" />
     23       
    2324        <pipeline nom="declarer_tables_objets_sql" inclure="base/optionsproduits.php" />
    2425        <pipeline nom="declarer_tables_interfaces" inclure="base/optionsproduits.php" />
     
    3031        <pipeline nom="afficher_complement_objet" inclure="optionsproduits_pipelines.php" />
    3132        <pipeline nom="optimiser_base_disparus" inclure="optionsproduits_pipelines.php" />
     33        <pipeline nom="rang_declarer_contexte" inclure="optionsproduits_pipelines.php" />
    3234        <pipeline nom="autoriser" inclure="optionsproduits_autorisations.php" />
    3335
  • _plugins_/optionsproduits/trunk/prive/objets/liste/options.html

    r109612 r109719  
    1313        <thead>
    1414                <tr class="first_row">
     15                        [(#ENV{id_optionsgroupe}|et{#VAL{option}|rang_objet_dans_config|oui})<th class="picto" scope="col"></th>]
    1516                        <th class="picto" scope="col"></th>
    16                         [(#ENV{id_optionsgroupe}|non)
    17                         <th class="titre" scope="col">[(#TRI{id_optionsgroupe,Groupe,ajax})]</th>
    18                         ]
     17                        [(#ENV{id_optionsgroupe}|et{#VAL{option}|rang_objet_dans_config|oui})<th class="picto" scope="col">[(#TRI{rang,<span title="<:rang:lien_trier_rang|attribut_html:>"><:rang:info_rang_abbr:></span>,ajax})]</th>]
     18                        [(#ENV{id_optionsgroupe}|non)<th class="titre" scope="col">[(#TRI{id_optionsgroupe,Groupe,ajax})]</th>]
    1919                        <th class="titre" scope="col">[(#TRI{titre,<:option:champ_titre_label:>,ajax})]</th>
     20                        <th class="" scope="col">[(#TRI{prix_defaut,Prix HT,ajax})]</th>
    2021                        <th class="" scope="col">[(#TRI{compteur_produits,Produits,ajax})]</th>
    21                         <th class="id" scope="col">[(#TRI{id_option,<:info_numero_abbreviation:>,ajax})]</th>
     22                        <th class="id" scope="col">[(#TRI{id_option,ID,ajax})]</th>
    2223                </tr>
    2324        </thead>
     
    2526        <BOUCLE_liste_options(OPTIONS){compteur_left produits}
    2627                {id_optionsgroupe?}{id_mot?}{id_auteur?}{where?}{recherche?}
    27                 {tri #ENV{par,id_optionsgroupe},#GET{defaut_tri}}{par num titre}{pagination #ENV{nb,20}}>
    28                 <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
     28                {tri #ENV{par,rang},#GET{defaut_tri}}{par num titre}{pagination #ENV{nb,20}}>
     29                <tr id="id_#ID_OPTION" class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
     30                        [(#ENV{id_optionsgroupe}|et{#VAL{option}|rang_objet_dans_config|oui})<td class="picto">[(#CHEMIN_IMAGE{draggable-16.png}|balise_img)]</td>]
    2931                        <td class="picto">[(#CHEMIN_IMAGE{option-16.png}|balise_img)]</td>
    30                         [(#ENV{id_optionsgroupe}|non)
    31                         <td class="titre">[(#INFO_TITRE_GROUPE{optionsgroupes,#ID_OPTIONSGROUPE}|supprimer_numero|sinon{<em>Aucun</em>})]</td>
    32                         ]
    33                         <td class="titre principale">[(#LOGO_OPTION|image_reduire{20,26})]<a href="[(#ID_OPTION|generer_url_entite{option})]" title="<:info_numero_abbreviation|attribut_html:> #ID_OPTION">[(#RANG). ]#TITRE</a></td>
    34                         <td class="secondaire">[(#COMPTEUR{produits})]</td>
     32                        [(#ENV{id_optionsgroupe}|et{#VAL{option}|rang_objet_dans_config|oui})<td class="rang" scope="col">[(#RANG).]</td>]
     33                        [(#ENV{id_optionsgroupe}|non)<td class="titre">[(#INFO_TITRE_GROUPE{optionsgroupes,#ID_OPTIONSGROUPE}|supprimer_numero|sinon{<em>Aucun</em>})]</td>]
     34                        <td class="titre principale">[(#LOGO_OPTION|image_reduire{20,26})]<a href="[(#ID_OPTION|generer_url_entite{option})]" title="<:info_numero_abbreviation|attribut_html:> #ID_OPTION">#TITRE</a></td>
     35                        <td class="secondaire numeric">[(#PRIX_DEFAUT|prix_formater)]</td>
     36                        <td class="secondaire center">[(#COMPTEUR{produits})]</td>
    3537                        <td class="id">[(#AUTORISER{modifier,option,#ID_OPTION}|?{
    3638                                <a href="[(#URL_ECRIRE{option_edit,id_option=#ID_OPTION})]">#ID_OPTION</a>,
  • _plugins_/optionsproduits/trunk/prive/objets/liste/optionsgroupes.html

    r109612 r109719  
    1212        <thead>
    1313                <tr class="first_row">
     14                        [(#VAL{optionsgroupe}|rang_objet_dans_config|oui)<th class="picto" scope="col"></th>]
    1415                        <th class="picto" scope="col"></th>
     16                        [(#VAL{optionsgroupe}|rang_objet_dans_config|oui)<th class="picto" scope="col">[(#TRI{rang,<span title="<:rang:lien_trier_rang|attribut_html:>"><:rang:info_rang_abbr:></span>,ajax})]</th>]
    1517                        <th class="titre" scope="col">[(#TRI{titre_groupe,<:optionsgroupe:champ_titre_label:>,ajax})]</th>
    1618                        <th class="date" scope="col">[(#TRI{date,<:date:>,ajax})]</th>
    17                         <th class="id" scope="col">[(#TRI{id_optionsgroupe,<:info_numero_abbreviation:>,ajax})]</th>
     19                        <th class="id" scope="col">[(#TRI{id_optionsgroupe,ID,ajax})]</th>
    1820                </tr>
    1921        </thead>
    2022        <tbody>
    2123        <BOUCLE_liste_optionsgroupes(OPTIONSGROUPES)
    22                 {id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,num titre_groupe},#GET{defaut_tri}}{par num titre_groupe}{pagination #ENV{nb,10}}>
    23                 <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
     24                {id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,rang},#GET{defaut_tri}}{par num titre_groupe}{pagination #ENV{nb,10}}>
     25                <tr id="id_#ID_OPTIONSGROUPE" class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
     26                        [(#VAL{optionsgroupe}|rang_objet_dans_config|oui)<td class="picto">[(#CHEMIN_IMAGE{draggable-16.png}|balise_img)]</td>]
    2427                        <td class="picto">[(#CHEMIN_IMAGE{optionsgroupe-16.png}|balise_img)]</td>
    25                         <td class="titre principale">[(#LOGO_OPTIONSGROUPE|image_reduire{20,26})]<a href="[(#ID_OPTIONSGROUPE|generer_url_entite{optionsgroupe})]" title="<:info_numero_abbreviation|attribut_html:> #ID_OPTIONSGROUPE">[(#RANG). ]#TITRE_GROUPE</a></td>
     28                        [(#VAL{optionsgroupe}|rang_objet_dans_config|oui)<td class="rang" scope="col">[(#RANG).]</td>]
     29                        <td class="titre principale">[(#LOGO_OPTIONSGROUPE|image_reduire{20,26})]<a href="[(#ID_OPTIONSGROUPE|generer_url_entite{optionsgroupe})]" title="<:info_numero_abbreviation|attribut_html:> #ID_OPTIONSGROUPE">#TITRE_GROUPE</a></td>
    2630                        <td class="date secondaire">[(#DATE|affdate_jourcourt)]</td>
    2731                        <td class="id">[(#AUTORISER{modifier,optionsgroupe,#ID_OPTIONSGROUPE}|?{
Note: See TracChangeset for help on using the changeset viewer.