Changeset 118173 in spip-zone


Ignore:
Timestamp:
Oct 16, 2019, 5:39:46 PM (9 months ago)
Author:
Charles Razack
Message:

Ajustements, corrections de coquilles et bugs.

Location:
_plugins_/noizetier_layout/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier_layout/trunk

    • Property subgit:lock:063408dd98a869e208c028c25dfb06e85e22f04d deleted
    • Property subgit:lock:04910ef91af2180370843a161261de4a27885467 set to 2019-10-16T19:40:43.066
  • _plugins_/noizetier_layout/trunk/inc/noizetier_layout.php

    r118157 r118173  
    101101                        )
    102102                );
    103                 // On encapsule le tout dans des fieldsets
    104                 foreach (array('container', 'row', 'column') as $item) {
     103                // On ajoute les saisies
     104                foreach (array('container', 'row', 'column', '*') as $item) {
    105105                        if (isset($saisies_grille[$item])) {
    106                                 $saisies[$id_noisette][$item] = array(
    107                                         array(
    108                                                 'saisie' => 'fieldset',
    109                                                 'options' => array(
    110                                                         'nom' => 'grille_'.$item,
    111                                                         'label' => _T('noizetier_layout:grid_'.$item.'_legend'),
    112                                                         'pliable' => 'oui',
    113                                                         'plie' => 'oui',
    114                                                 ),
    115                                                 'saisies' => $saisies_grille[$item],
    116                                         ),
    117                                 );
     106                                switch ($item) {
     107                                        // Celles directement à la racine
     108                                        // (pour l'instant, toutes)
     109                                        case 'container':
     110                                        case 'row':
     111                                        case 'column':
     112                                        case '*':
     113                                                $saisies[$id_noisette][$item] = $saisies_grille[$item];
     114                                                break;
     115                                        // Les autres dans un fieldset
     116                                        default:
     117                                                $saisies[$id_noisette][$item] = array(
     118                                                        array(
     119                                                                'saisie' => 'fieldset',
     120                                                                'options' => array(
     121                                                                        'nom' => 'grille_'.$item,
     122                                                                        'label' => _T('noizetier_layout:grid_'.$item.'_legend'),
     123                                                                        'pliable' => 'oui',
     124                                                                        // 'plie' => 'oui',
     125                                                                ),
     126                                                                'saisies' => $saisies_grille[$item],
     127                                                        ),
     128                                                );
     129                                                break;
     130                                }
    118131                        }
    119132                }
     
    205218 * - Si la noisette est à la racine ou dans un conteneur lambda : container
    206219 * - Si c'est une ligne : row
    207  * - Si elle est dans un ligne : column
     220 * - Si elle est dans une ligne : column
    208221 *
    209222 * @note
     
    225238        list($type_noisette_parente, $noisette_parente, $id_noisette_parente) = explode('|', $id_conteneur); // pas de fonction dans l'API pour avoir ces infos
    226239
    227         // Toutes les noisettes ont une option container.
    228         // C.a.d qu'elles ne sont jamais directement un container elles-mêmes,
    229         // mais elles peuvent en avoir un à l'intérieur.
    230         // Cependant pour simplifier, on n'active l'option que pour celles à la racine et celles dans un conteneur lambda (mais ça pourrait changer).
     240        // Toutes les noisettes peuvent techniquement avoir un .container en enfant direct.
     241        // Cependant pour simplifier, on n'active l'option que pour celles à la racine
     242        // et celles dans un conteneur lambda (mais ça pourrait changer).
    231243        if (
    232244                $a_la_racine
     
    236248        }
    237249
    238         // Noisette « conteneur_row » = row
    239         if ($type_noisette == 'conteneur_row') {
     250        // Noisette « conteneur » = row
     251        if ($type_noisette == 'conteneur') {
    240252                $elements[] = 'row';
    241253        }
    242254
    243255        // Noisette enfante d'une noisette « conteneur_row » = column
    244         elseif ($type_noisette_parente == 'conteneur_row') {
     256        if ($type_noisette_parente == 'conteneur') {
    245257                $elements[] = 'column';
    246258        }
     259
     260        // var_dump($id_noisette, $elements);
    247261
    248262        return $elements;
  • _plugins_/noizetier_layout/trunk/lang/noizetier_layout_fr.php

    r113922 r118173  
    2929
    3030        // G
     31        'grid_affichage_label' => 'Affichage',
    3132        'grid_container_legend' => 'Layout : largeur de la section',
    3233        'grid_container_label' => 'Largeur',
    33         'grid_container_explication' => 'Largeur maximale de cette section (ajoute des marges latérales).',
     34        'grid_container_explication' => 'Largeur maximale de cette section.',
    3435        'grid_row_legend' => 'Layout : conteneur de colonnes',
    3536        'grid_row_label' => 'Ligne',
  • _plugins_/noizetier_layout/trunk/noizetier_layout_pipelines.php

    r118157 r118173  
    6060                include_spip('inc/saisies');
    6161
     62                // Nb : la noisette peut-être plusieurs éléments de la grille à a fois.
     63                // On ajoute aussi les saisies communes à tous les éléments.
     64                $elements_grille[] = '*';
    6265                foreach ($elements_grille as $element) {
    6366
    64                         // Ajout des saisies dans un fieldset affichage
     67                        // Ajout des saisies
    6568                        $saisies = noizetier_layout_lister_saisies($element, $id_noisette);
    66                         $fieldset_affichage = false;
    67                         foreach ($flux['data']['_champs_noisette'] as $k => $saisie) {
    68                                 if (
    69                                         $saisie['saisie'] === 'fieldset'
    70                                         and $saisie['options']['nom'] === 'affichage'
    71                                 ) {
    72                                         $fieldset_affichage = true;
    73                                         $flux['data']['_champs_noisette'][$k]['saisies'] = array_merge($flux['data']['_champs_noisette'][$k]['saisies'], $saisies);
     69                        $type_noisette = $flux['data']['type_noisette'];
     70                        switch ($type_noisette) {
     71                                // Pour certaines noisette, directement à la racine
     72                                case 'conteneur':
     73                                        $flux['data']['_champs_noisette'] = array_merge($flux['data']['_champs_noisette'], $saisies);
    7474                                        break;
    75                                 }
     75                                // Pour les autres dans un fieldset « Affichage »
     76                                default:
     77                                        // Soit il y en a déjà un
     78                                        $fieldset_affichage = false;
     79                                        foreach ($flux['data']['_champs_noisette'] as $k => $saisie) {
     80                                                if (
     81                                                        $saisie['saisie'] === 'fieldset'
     82                                                        and $saisie['options']['nom'] === 'affichage'
     83                                                ) {
     84                                                        $fieldset_affichage = true;
     85                                                        $flux['data']['_champs_noisette'][$k]['saisies'] = array_merge($flux['data']['_champs_noisette'][$k]['saisies'], $saisies);
     86                                                        break;
     87                                                }
     88                                        }
     89                                        // Soit on ajoute le fieldset nous-même
     90                                        if (!$fieldset_affichage) {
     91                                                $flux['data']['_champs_noisette'][] = array(
     92                                                        'saisie' => 'fieldset',
     93                                                        'options' => array(
     94                                                                'nom' => 'affichage',
     95                                                                'label' => _T('noizetier_layout:grid_affichage_label'),
     96                                                                'pliable' => 'oui',
     97                                                                'plie' => '',
     98                                                        ),
     99                                                        'saisies' => $saisies,
     100                                                );
     101                                        }
     102                                        break;
    76103                        }
    77                         if (!$fieldset_affichage) {
    78                                 $flux['data']['_champs_noisette'][] = array(
    79                                         'saisie' => 'fieldset',
    80                                         'options' => array(
    81                                                 'nom' => 'affichage',
    82                                                 'label' => _T('noizetier:label_saisies_affichage'),
    83                                                 'pliable' => 'oui',
    84                                                 'plie' => '',
    85                                         ),
    86                                         'saisies' => $saisies,
    87                                 );
    88                         }
    89104
    90105                        // Récupération des valeurs
    91                         $parametre = 'css_' . $element;
     106                        $parametre       = 'css_grid_' . $element;
    92107                        $classes_element = $flux['data'][$parametre];
    93108                        if ($contexte = noizetier_layout_contextualiser_classes($element, $classes_element, $id_noisette)) {
     
    105120 * Complète les traitements d’un formulaire CVT
    106121 *
    107  * => Édition de noisette :
    108  * - container : enregistrer le paramètre
     122 * => Édition de noisette : enregistrer les paramètres propres à la grille.
     123 * Ils sont stockés dans les clés css_grid_container, css_grid_column, css_grid_row et css_grid_*.
    109124 *
    110125 * @param array $flux
     
    128143
    129144                // Préparer les paramètres
     145                // Nb : la noisette peut-être plusieurs éléments de la grille à a fois.
     146                // On ajoute aussi les saisies communes à tous les éléments.
     147                $elements_grille[] = '*';
    130148                foreach ($elements_grille as $element) {
    131149                        $saisies         = noizetier_layout_lister_saisies($element, $id_noisette);
    132150                        $saisies_par_nom = saisies_lister_par_nom($saisies);
    133                         $parametre       = 'css_' . $element;
    134                         $classe_base     = $grille['classes_base'][$element];
     151                        $parametre       = 'css_grid_' . $element;
     152                        // $classe_base     = $grille['classes_base'][$element];
    135153                        $classes_element = array();
    136154                        // Récupérer les valeurs postées
    137                         foreach($saisies_par_nom as $champ => $saisie) {
     155                        foreach ($saisies_par_nom as $champ => $saisie) {
    138156                                // Toutes les saisies ne sont pas forcément pertinentes
     157                                // Les saisies de grille CSS sont identifées avec une clé 'grille' en plus de 'options'
    139158                                if (
    140159                                        isset($saisie['grille'])
     
    152171                        }
    153172                        // S'assurer de la présence des classes de base (.row, .column...)
    154                         if (!in_array($classe_base, $classes_element)) {
     173                        /*if (!in_array($classe_base, $classes_element)) {
    155174                                array_unshift($classes_element, $classe_base);
    156                         }
     175                        }*/
    157176                        $classes_element = implode(' ', $classes_element);
    158177                        $parametres[$parametre] = $classes_element;
    159178                }
     179
     180                // var_dump($parametres);
     181                // die('Debug');
    160182
    161183                // Mettre à jour la noisette
     
    206228 * Ajoute des choses dans le head du site public
    207229 *
    208  * => Feuille de style de la grille
     230 * => Feuille de style de la grille si option activée
    209231 *
    210232 * @param string $flux
     
    221243                and $css = find_in_path($css)
    222244        ) {
    223 
    224245                $flux .= "\n<!--Plugin noiZetier : agencements-->\n<link rel='stylesheet' href='$css' type='text/css' media='all' />\n";
    225 
    226         }
    227 
    228         return $flux;
    229 }
     246        }
     247
     248        return $flux;
     249}
  • _plugins_/noizetier_layout/trunk/prive/style_prive_plugin_noizetier_layout.html

    r118156 r118173  
    1818  flex-flow: row nowrap;
    1919  box-sizing: border-box;
     20  margin: 0.5em 0;
    2021}
    2122.gridedit__item {
     
    5657  width: auto !important;
    5758}
    58 .gridedit__item label img {
     59.gridedit__item label img,
     60.gridedit__item label svg {
     61  max-width: 50px;
     62  height: auto;
    5963  margin-bottom: 0.5em;
    6064}
Note: See TracChangeset for help on using the changeset viewer.