Changeset 65749 in spip-zone


Ignore:
Timestamp:
Sep 11, 2012, 12:55:00 PM (7 years ago)
Author:
marcimat@…
Message:
  • Ajout de l'affichage d'un extrait de l'élément dans le privé (en fait un titre), calculé par le squelette elements/{element}_titre.html s'il est présent
  • Permettre de déplacer sommairement les éléments
Location:
_plugins_/elements
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/elements/elements_fonctions.php

    r65744 r65749  
    176176 * @param string $element
    177177 *     Nom de l'élément
    178  * @param array $contexte
    179  *     Contexte transmis à l'inclusion
     178 * @param array $args
     179 *     Valeurs enregistrées dans la base pour l'élément.
     180 *     L'index 'contexte' contient le contexte transmis à l'inclusion
    180181 * @return string
    181182 *     Code HTML de l'élément
    182183**/
    183 function elements_inclure_element($element, $contexte=array()) {
     184function elements_inclure_element($element, $args=array()) {
    184185        if (!$element) {
    185186                return '';
    186187        }
    187         $code = recuperer_fond("elements/$element", $contexte);
     188        $code = recuperer_fond("elements/$element", $args['contexte']);
    188189        return $code;
    189190}
     191
     192
     193/**
     194 * Retourne le code HTML du titre d'un élément
     195 *
     196 * Le titre est défini par un squelette elements/{element}_titre.html
     197 * lorsqu'il est présent. Sinon laissé vide.
     198 *
     199 * @param string $element
     200 *     Nom de l'élément
     201 * @param array $args
     202 *     Valeurs enregistrées dans la base pour l'élément.
     203 *     L'index 'contexte' contient le contexte transmis à l'inclusion
     204 * @return string
     205 *     Code HTML du titre de l'élément, sinon rien.
     206**/
     207function elements_inclure_element_titre($element, $args=array()) {
     208        if (!$element) {
     209                return '';
     210        }
     211        $element_titre = $element . '_titre';
     212
     213        if (!trouver_fond($element_titre, 'elements')) {
     214                return '';
     215        }
     216
     217        $code = recuperer_fond("elements/$element_titre", $args['contexte']);
     218        return $code;
     219}
  • _plugins_/elements/formulaires/choisir_elements.html

    r65744 r65749  
    1313        [<p class="notice">(#ENV*{erreurs/message_info})</p>]
    1414
    15 
    1615<script type='text/javascript'>
    1716(function($){
     
    1918        $('.formulaire_#FORM .description_element').each(function(){
    2019                $(this).find('.params').hide()
    21                 $(this).find('.entete').addClass('pointer').click(function(){
    22                         $(this).parent().find('.params').toggle();
     20                $(this).find('.entete').addClass('pointer').click(function(e) {
     21                        /* tout mais pas les boutons monter et descendre ! */
     22                        if ($(e.target).is(':not(.submit)')) {
     23                                $(this).parent().find('.params').toggle();
     24                        }
    2325                });
    2426        });
     
    4648                                                                [ style='background-image:url((#CHEMIN_IMAGE{#ICON}|sinon{#CHEMIN_IMAGE{element-24.png}}))']>
    4749                                                                #NOM
     50                                                                [: <em class='titre'>(#ELEMENT|elements_inclure_element_titre{#ENV{elements/#CLE}})</em>]
    4851                                                        </span>
     52
     53                                                        <div class='actions'>
     54                                                                <button type="submit" name="deplacer_element" value="element/#CLE/1"
     55                                                                        class="submit deplacer_element monter">
     56                                                                        [(#CHEMIN_IMAGE{element_bas-16.png}|balise_img{<:elements:monter_cet_element:>})]
     57                                                                </button>
     58                                                                <button type="submit" name="deplacer_element" value="element/#CLE/-1"
     59                                                                        class="submit deplacer_element descendre">
     60                                                                        [(#CHEMIN_IMAGE{element_haut-16.png}|balise_img{<:elements:descendre_cet_element:>})]
     61                                                                </button>
     62                                                        </div>
    4963                                                </div>
    5064                                                <div class='params'>
  • _plugins_/elements/formulaires/choisir_elements.php

    r65744 r65749  
    9696        if ($elem = _request('supprimer_element')) {
    9797                // element/3
    98                 $index = explode('/', $elem);
    99                 $index = end($index);
     98                list(,$index) = explode('/', $elem);
    10099                unset($elements[$index]);
    101100                $elements = array_values($elements);
     
    104103                // indiquer qu'on a pris en compte l'element
    105104                $erreurs['message_info'] = _T("elements:message_element_moins")
     105                        . '<br />' . _T("elements:message_element_enregistrer");
     106        }
     107
     108        // déplace un élément d'un cran vers le bas ou vers le haut
     109        if ($elem = _request('deplacer_element')) {
     110                // element/3/-1
     111                list(,$index,$pos) = explode('/', $elem);
     112                $deplace = $elements[$index];
     113                unset($elements[$index]);
     114                $elements = array_values($elements);
     115                // nouvel index
     116                if ($pos[0] == '-') {
     117                        $index = $index - substr($pos,1);
     118                        if ($index < 0) $index = 0;
     119                } else {
     120                        $index = $index + $pos;
     121                        if ($index > count($elements)) $index = count($elements);
     122                }
     123
     124                array_splice($elements, $index, 0, array($deplace));
     125
     126                // on les fiche dans l'environnement...
     127                set_request('elements', $elements);
     128                // indiquer qu'on a pris en compte l'element
     129                $erreurs['message_info'] = _T("elements:message_element_deplace")
    106130                        . '<br />' . _T("elements:message_element_enregistrer");
    107131        }
  • _plugins_/elements/inclure/elements.html

    r65744 r65749  
    11<BOUCLE_elements(ELEMENTS){objet}{id_objet}{bloc}>
    22        <BOUCLE_element(DATA){source table,#ELEMENTS}{si #ELEMENTS}>
    3                 [(#ELEMENT|elements_inclure_element{#CONTEXTE})]
     3                [(#ELEMENT|elements_inclure_element{#VALEUR})]
    44        </BOUCLE_element>
    55</BOUCLE_elements>
  • _plugins_/elements/inclure/gerer_elements.html

    r65744 r65749  
    11#SET{bloc,#ENV{bloc}}
    22
    3 [(#BOITE_OUVRIR{[(#GET{bloc}|oui)<:elements:elements_selectionnes_pour{bloc=#GET{bloc}}:>],simple})]
     3[(#BOITE_OUVRIR{[(#CHEMIN_IMAGE{elements-24.png}
     4        |balise_img{'',cadre-icone}
     5        |concat{#VAL{elements:elements_selectionnes_pour}|_T{#ARRAY{bloc,#GET{bloc}}}})],simple})]
    46<div class='elements_choisis'>
    57        <BOUCLE_elements(ELEMENTS){objet}{id_objet}{bloc=#GET{bloc}}>
    6                 <BOUCLE_type_elements(DATA){source table,(#ELEMENTS|elements_obtenir_desriptions)}{', '}>#NOM</BOUCLE_type_elements>
     8                #SET{elements,#ELEMENTS}
     9                <BOUCLE_type_elements(DATA)
     10                        {source table,(#ELEMENTS|elements_obtenir_desriptions)}{', '}>#NOM[ <em class='titre'>(#ELEMENT
     11                                |elements_inclure_element_titre{#GET{elements/#CLE}})</em>]</BOUCLE_type_elements>
    712        </BOUCLE_elements>
    813                <:elements:elements_selectionnes_aucun:>
  • _plugins_/elements/lang/elements_fr.php

    r65744 r65749  
    3636        'message_element_plus' => 'Un élément a été ajouté.',
    3737        'message_element_moins' => 'Un élément a été enlevé',
     38        'message_element_deplace' => 'Un élément a été déplacé',
    3839        'message_element_enregistrer' => 'Pensez à enregistrer le formulaire
    3940                pour sauvegarder les changements.',
  • _plugins_/elements/paquet.xml

    r65744 r65749  
    22        prefix="elements"
    33        categorie="navigation"
    4         version="1.0.0"
    5         etat="dev"
     4        version="1.1.0"
     5        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
    77        logo="prive/themes/spip/images/elements-64.png"
  • _plugins_/elements/prive/style_prive_plugin_elements.html

    r65744 r65749  
    1818.formulaire_choisir_elements .selection_elements .nom {
    1919        display:block; padding-left:30px; min-height:25px;
     20        float:left; margin-top:3px; padding-top:2px;
    2021        background:transparent top left no-repeat;
    2122}
     23.formulaire_choisir_elements .selection_elements .entete .actions {float:right; margin-top:2px; display:none;}
     24.formulaire_choisir_elements .selection_elements .entete:hover .actions {display:block; }
    2225
    2326.formulaire_choisir_elements .selection_elements .params {
Note: See TracChangeset for help on using the changeset viewer.