Changeset 104965 in spip-zone


Ignore:
Timestamp:
Jun 25, 2017, 12:30:30 PM (2 years ago)
Author:
eric@…
Message:

On se débarrasse de la balise d'infos d'une page et des fonctions associées.
Ajout du champ composition dans la table spip_noizetier_noisettes car une composition peut proposer des noisettes sépcifiques.

Location:
_plugins_/noizetier/trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/base/noizetier_tables.php

    r104894 r104965  
    8282                'noisette'       => "varchar(255) DEFAULT '' NOT NULL",
    8383                'type'           => "varchar(127) DEFAULT '' NOT NULL",
     84                'composition'    => "varchar(127) DEFAULT '' NOT NULL",
    8485                'nom'            => "text DEFAULT '' NOT NULL",
    8586                'description'    => "text DEFAULT '' NOT NULL",
     
    9798                'PRIMARY KEY'    => 'noisette',
    9899                'KEY type'       => 'type',
     100                'KEY composition'    => 'composition',
    99101                'KEY ajax'       => 'ajax',
    100102                'KEY inclusion'  => 'inclusion',
  • _plugins_/noizetier/trunk/formulaires/inc-liste_noisettes_disponibles.html

    r104772 r104965  
    1 #SET{type,#ENV{page,#OBJET}|noizetier_page_type}
    2 #SET{composition,#ENV{page,#OBJET}|noizetier_page_composition}
     1<BOUCLE_infos_page(NOIZETIER_PAGES) {page=#ENV{page, #OBJET}}>
     2        [(#SET{type, #TYPE})]
     3        [(#SET{composition, #COMPOSITION})]
     4        [(#SET{nom, #NOM})]
     5</BOUCLE_infos_page>
    36
    4 <B_composition_noisettes>
    5 [(#SET{nom_type,[(#NOIZETIER_PAGE_INFOS{#ENV{page, #OBJET}, nom})]})]
    6 <h4><:noizetier:noisettes_composition{composition=#GET{nom_type}}:></h4>
     7<BOUCLE_si_composition(CONDITION) {si #GET{composition}}>
     8        <B_noisettes_composition>
     9        <h4><:noizetier:noisettes_composition{composition=#GET{nom}}:></h4>
     10        <ul class="editer-groupe liste-items liste-noisettes liste-noisettes-disponibles">
     11        <BOUCLE_noisettes_composition(NOIZETIER_NOISETTES){type=#GET{type}}{composition=#GET{composition}}{par noisette}>
     12                <li class="editer item noisette" [ style="background-image: url((#ICON|noizetier_icone_chemin));"]>
     13                        [(#SET{id,#VAL{noizetier_}|uniqid})]
     14                        [(#ENV{form}|oui)<input type='radio' name='noisette' value='#NOISETTE' id="#GET{id}" />]
     15                        <label for="#GET{id}">[(#NOM)]</label>
     16                        [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#NOISETTE' />]
     17                </li>
     18        </BOUCLE_noisettes_composition>
     19        </ul>
     20        </B_noisettes_composition>
     21
     22        <BOUCLE_infos_type(NOIZETIER_PAGES) {page=#GET{type}}{composition=''}>#SET{nom, #NOM}</BOUCLE_infos_type>
     23</BOUCLE_si_composition>
     24
     25<B_noisettes_type>
     26<h4><:noizetier:noisettes_page{type=#GET{nom}}:></h4>
    727<ul class="editer-groupe liste-items liste-noisettes liste-noisettes-disponibles">
    8 <BOUCLE_composition_noisettes(DATA){source tableau, #NOIZETIER_LISTE_NOISETTES{#ENV{page,#OBJET}}}{par cle}{si #GET{composition}}>
    9         <li class="editer item noisette" [ style="background-image: url((#VALEUR|table_valeur{icon}|sinon{noisette-24.png}|noizetier_icone_chemin));"]>
     28<BOUCLE_noisettes_type(NOIZETIER_NOISETTES){type=#GET{type}}{composition=''}{par noisette}>
     29        <li class="editer item noisette" [ style="background-image: url((#ICON|noizetier_icone_chemin));"]>
    1030                [(#SET{id,#VAL{noizetier_}|uniqid})]
    11                 [(#ENV{form}|oui)<input type='radio' name='noisette' value='#CLE' id="#GET{id}" />]
    12                 <label for="#GET{id}">[(#VALEUR|table_valeur{nom})]</label>
    13                 [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#CLE' />]
     31                [(#ENV{form}|oui)<input type='radio' name='noisette' value='#NOISETTE' id="#GET{id}" />]
     32                <label for="#GET{id}">[(#NOM)]</label>
     33                [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#NOISETTE' />]
    1434        </li>
    15 </BOUCLE_composition_noisettes>
     35</BOUCLE_noisettes_type>
    1636</ul>
    17 </B_composition_noisettes>
    18 
    19 <B_type_noisettes>
    20 [(#SET{nom_type,[(#NOIZETIER_PAGE_INFOS{#GET{type}, nom})]})]
    21 <h4><:noizetier:noisettes_page{type=#GET{nom_type}}:></h4>
    22 <ul class="editer-groupe liste-items liste-noisettes liste-noisettes-disponibles">
    23 <BOUCLE_type_noisettes(DATA){source tableau, #NOIZETIER_LISTE_NOISETTES{#GET{type}}}{par cle}>
    24         <li class="editer item noisette" [ style="background-image: url((#VALEUR|table_valeur{icon}|sinon{noisette-24.png}|noizetier_icone_chemin));"]>
    25                 [(#SET{id,#VAL{noizetier_}|uniqid})]
    26                 [(#ENV{form}|oui)<input type='radio' name='noisette' value='#CLE' id="#GET{id}" />]
    27                 <label for="#GET{id}">[(#VALEUR|table_valeur{nom})]</label>
    28                 [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#CLE' />]
    29         </li>
    30 </BOUCLE_type_noisettes>
    31 </ul>
    32 </B_type_noisettes>
     37</B_noisettes_type>
    3338
    3439<B_noisettes_communes>
    3540<h4><:noizetier:noisettes_toutes_pages:></h4>
    3641<ul class="editer-groupe liste-items liste-noisettes liste-noisettes-disponibles">
    37 <BOUCLE_noisettes_communes(DATA){source tableau, #NOIZETIER_LISTE_NOISETTES{''}}{par cle}>
    38         <li class="editer item noisette" [ style="background-image: url((#VALEUR|table_valeur{icon}|sinon{noisette-24.png}|noizetier_icone_chemin));"]>
     42<BOUCLE_noisettes_communes(NOIZETIER_NOISETTES){type=''}{composition=''}{par noisette}>
     43        <li class="editer item noisette" [ style="background-image: url((#ICON|noizetier_icone_chemin));"]>
    3944                [(#SET{id,#VAL{noizetier_}|uniqid})]
    40                 [(#ENV{form}|oui)<input type='radio' name='noisette' value='#CLE' id="#GET{id}" />]
    41                 <label for="#GET{id}">[(#VALEUR|table_valeur{nom})]</label>
    42                 [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#CLE' />]
     45                [(#ENV{form}|oui)<input type='radio' name='noisette' value='#NOISETTE' id="#GET{id}" />]
     46                <label for="#GET{id}">[(#NOM)]</label>
     47                [(#ENV{ordre}|oui)<input type='hidden' name='ordre\[\]' value='ajouter-#NOISETTE' />]
    4348        </li>
    4449</BOUCLE_noisettes_communes>
  • _plugins_/noizetier/trunk/noizetier-generer-bloc-voir-noisettes.html

    r104772 r104965  
    44[(#OBJET|?{
    55        #SET{informations, #NOIZETIER_OBJET_INFOS{#OBJET, #ID_OBJET}},
    6         #SET{informations, #NOIZETIER_PAGE_INFOS{#GET{page}}}
     6        #SET{informations, #GET{page}|noizetier_page_informer}
    77})]
    88
  • _plugins_/noizetier/trunk/noizetier_fonctions.php

    r104960 r104965  
    4444                }
    4545
     46                include_spip('inc/noizetier_phraser');
    4647                foreach ($fichiers as $_squelette => $_chemin) {
    4748                        $noisette = basename($_squelette, '.yaml');
     
    5354                        $options['recharger'] = $forcer_chargement;
    5455                        $options['yaml'] = $_chemin;
    55                         if ($configuration = noizetier_noisette_phraser($noisette, $options)) {
     56                        if ($configuration = phraser_noisette($noisette, $options)) {
    5657                                if (empty($configuration['identique'])) {
    5758                                        // La noisette a été chargée (nouvelle) ou rechargée (modifiée).
     
    130131
    131132
    132 function noizetier_noisette_phraser($noisette, $options = array()) {
    133 
    134         // Initialisation de la description
    135         $description = array();
    136 
    137         // Initialiser le contexte de chargement
    138         if (!isset($options['recharger'])) {
    139                 $options['recharger'] = false;
    140         }
    141         if (!isset($options['md5']) or $options['recharger']) {
    142                 $options['md5'] = '';
    143         }
    144 
    145         // Initialiser les composants de l'identifiant de la noisette:
    146         // - type-noisette si la noisette est dédiée uniquement à une page ou une composition
    147         // - noisette sinon
    148         $identifiants = explode('-', $noisette);
    149 
    150         // Initialisation de la description par défaut de la page
    151         $description_defaut = array(
    152                 'noisette'       => $noisette,
    153                 'type'           => isset($identifiants[1]) ? $identifiants[0] : '',
    154                 'nom'            => $noisette,
    155                 'description'    => '',
    156                 'icon'           => 'noisette-24.png',
    157                 'necessite'      => array(),
    158                 'contexte'       => array(),
    159                 'ajax'           => 'defaut',
    160                 'inclusion'      => 'statique',
    161                 'parametres'     => array(),
    162                 'signature'      => '',
    163         );
    164 
    165         // Recherche des noisettes par leur fichier YAML uniquement.
    166         $md5 = '';
    167         $fichier = isset($options['yaml']) ? $options['yaml'] : find_in_path("noisettes/${noisette}.yaml");
    168         if ($fichier) {
    169                 // il y a un fichier YAML de configuration, on vérifie le md5 avant de charger le contenu.
    170                 $md5 = md5_file($fichier);
    171                 if ($md5 != $options['md5']) {
    172                         include_spip('inc/yaml');
    173                         $description = yaml_charger_inclusions(yaml_decode_file($fichier));
    174                         // Traitements des champs pouvant être soit une chaine soit un tableau
    175                         if (!empty($description['necessite']) and is_string($description['necessite'])) {
    176                                 $description['necessite'] = array($description['necessite']);
    177                         }
    178                         if (!empty($description['contexte']) and is_string($description['contexte'])) {
    179                                 $description['contexte'] = array($description['contexte']);
    180                         }
    181                 }
    182         }
    183 
    184         // Si la description est remplie c'est que le chargement a correctement eu lieu.
    185         // Sinon, si la noisette n'a pas changée on renvoie une description limitée à un indicateur d'identité pour
    186         // distinguer ce cas avec une erreur de chargement qui renvoie une description vide.
    187         if ($description) {
    188                 // Mise à jour du md5
    189                 $description['signature'] = $md5;
    190                 // Complétude de la description avec les valeurs par défaut
    191                 $description = array_merge($description_defaut, $description);
    192                 // Sérialisation des champs necessite, contexte et parametres qui sont des tableaux
    193                 $description['necessite'] = serialize($description['necessite']);
    194                 $description['contexte'] = serialize($description['contexte']);
    195                 $description['parametres'] = serialize($description['parametres']);
    196         } elseif ($md5 == $options['md5']) {
    197                 $description['identique'] = true;
    198         }
    199 
    200         return $description;
    201 }
    202 
    203 
    204133function noizetier_noisette_ajax($noisette) {
    205134        static $est_ajax = array();
     
    502431                }
    503432
     433                include_spip('inc/noizetier_phraser');
    504434                foreach ($fichiers as $_squelette => $_chemin) {
    505435                        $page = basename($_squelette, '.html');
     
    521451                                $options['md5'] = isset($signatures[$page]) ? $signatures[$page] : '';
    522452                                $options['recharger'] = $forcer_chargement;
    523                                 if ($configuration = noizetier_page_phraser($page, $options)) {
     453                                if ($configuration = phraser_page($page, $options)) {
    524454                                        if (empty($configuration['identique'])) {
    525455                                                // La page a été chargée (nouvelle) ou rechargée (modifiée).
     
    600530}
    601531
    602 
    603 function noizetier_page_phraser($page, $options = array()) {
    604 
    605         // Initialisation de la description
    606         $description = array();
    607 
    608         // Choisir le bon répertoire des pages
    609         if (empty($options['repertoire_pages'])) {
    610                 $options['repertoire_pages'] = noizetier_page_obtenir_dossier();
    611         }
    612 
    613         // Initialiser les blocs par défaut
    614         if (empty($options['blocs_defaut'])) {
    615                 $options['blocs_defaut'] = noizetier_bloc_defaut();
    616         }
    617 
    618         // Initialiser le contexte de chargment
    619         if (!isset($options['recharger'])) {
    620                 $options['recharger'] = false;
    621         }
    622         if (!isset($options['md5']) or $options['recharger']) {
    623                 $options['md5'] = '';
    624         }
    625 
    626         // Initialiser les composants de l'identifiant de la page:
    627         // - type-composition si la page est une composition
    628         // - type sinon
    629         // On gère aussi le cas de Zpip v1 où page-xxxx désigne une page et non une composition.
    630         // Dans ce cas, on doit donc obtenir type = xxxx et composition vide.
    631         $identifiants = explode('-', $page);
    632         if (!isset($identifiants[1])) {
    633                 $identifiants[1] = '';
    634         } elseif ($identifiants[0] == 'page') {
    635                 $identifiants[0] = $identifiants[1];
    636                 $identifiants[1] = '';
    637         }
    638 
    639         // Initialisation de la description par défaut de la page
    640         $description_defaut = array(
    641                 'page'           => $page,
    642                 'type'           => $identifiants[0],
    643                 'composition'    => $identifiants[1],
    644                 'nom'            => $page,
    645                 'description'    => '',
    646                 'icon'           => 'page-24.png',
    647                 'blocs_exclus'   => array(),
    648                 'necessite'      => array(),
    649                 'branche'        => array(),
    650                 'est_virtuelle'  => 'non',
    651                 'est_page_objet' => 'non',
    652                 'signature'      => '',
    653         );
    654 
    655         // Recherche des pages ou compositions explicites suivant le processus :
    656         // a- Le fichier YAML est recherché en premier,
    657         // b- ensuite le fichier XML pour compatibilité ascendante.
    658         // c- enfin, si il n'y a ni YAML, ni XML et que le mode le permet, on renvoie une description standard minimale
    659         //    basée sur le fichier HTML uniquement
    660         $md5 = '';
    661         if ($fichier = find_in_path("{$options['repertoire_pages']}${page}.yaml")) {
    662                 // 1a- il y a un fichier YAML de configuration, on vérifie le md5 avant de charger le contenu.
    663                 $md5 = md5_file($fichier);
    664                 if ($md5 != $options['md5']) {
    665                         include_spip('inc/yaml');
    666                         $description = yaml_charger_inclusions(yaml_decode_file($fichier));
    667                 }
    668         } elseif ($fichier = find_in_path("{$options['repertoire_pages']}${page}.xml")) {
    669                 // 1b- il y a un fichier XML de configuration, on vérifie le md5 avant de charger le contenu.
    670                 //     on extrait et on parse le XML de configuration en tenant compte que ce peut être
    671                 //     celui d'une page ou d'une composition, ce qui change la balise englobante.
    672                 $md5 = md5_file($fichier);
    673                 if ($md5 != $options['md5']) {
    674                         include_spip('inc/xml');
    675                         if ($xml = spip_xml_load($fichier, false)
    676                         and (isset($xml['page']) or isset($xml['composition']))) {
    677                                 $xml = isset($xml['page']) ? reset($xml['page']) : reset($xml['composition']);
    678                                 // Titre (nom), description et icone
    679                                 if (isset($xml['nom'])) {
    680                                         $description['nom'] = spip_xml_aplatit($xml['nom']);
    681                                 }
    682                                 if (isset($xml['description'])) {
    683                                         $description['description'] = spip_xml_aplatit($xml['description']);
    684                                 }
    685                                 if (isset($xml['icon'])) {
    686                                         $description['icon'] = reset($xml['icon']);
    687                                 }
    688 
    689                                 // Liste des blocs autorisés pour la page. On vérifie que les blocs configurés sont bien dans
    690                                 // la liste des blocs par défaut et on calcule les blocs exclus qui sont les seuls insérés en base.
    691                                 $blocs_inclus = array();
    692                                 if (spip_xml_match_nodes(',^bloc,', $xml, $blocs)) {
    693                                         foreach (array_keys($blocs) as $_bloc) {
    694                                                 list(, $attributs) = spip_xml_decompose_tag($_bloc);
    695                                                 $blocs_inclus[] = $attributs['id'];
    696                                         }
    697                                 }
    698                                 if ($blocs_inclus) {
    699                                         $description['blocs_exclus'] = array_diff($options['blocs_defaut'], array_intersect($options['blocs_defaut'], $blocs_inclus));
    700                                 }
    701 
    702                                 // Liste des plugins nécessaires pour utiliser la page
    703                                 if (spip_xml_match_nodes(',^necessite,', $xml, $necessites)) {
    704                                         $description['necessite'] = array();
    705                                         foreach (array_keys($necessites) as $_necessite) {
    706                                                 list(, $attributs) = spip_xml_decompose_tag($_necessite);
    707                                                 $description['necessite'][] = $attributs['id'];
    708                                         }
    709                                 }
    710 
    711                                 // Liste des héritages
    712                                 if (spip_xml_match_nodes(',^branche,', $xml, $branches)) {
    713                                         $description['branche'] = array();
    714                                         foreach (array_keys($branches) as $_branche) {
    715                                                 list(, $attributs) = spip_xml_decompose_tag($_branche);
    716                                                 $description['branche'][$attributs['type']] = $attributs['composition'];
    717                                         }
    718                                 }
    719                         }
    720                 }
    721         } elseif (defined('_NOIZETIER_LISTER_PAGES_SANS_XML') ? _NOIZETIER_LISTER_PAGES_SANS_XML : false) {
    722                 // 1c- il est autorisé de ne pas avoir de fichier XML de configuration.
    723                 // Ces pages sans XML ne sont chargées qu'une fois, la première. Ensuite, aucune mise à jour n'est nécessaire.
    724                 if (!$options['md5']) {
    725                         $description['icon'] = 'page_noxml-24.png';
    726                         $md5 = md5('_NOIZETIER_LISTER_PAGES_SANS_XML');
    727                 }
    728         }
    729 
    730         // Si la description est remplie c'est que le chargement a correctement eu lieu.
    731         // Sinon, si la page n'a pas changée on renvoie une description limitée à un indicateur d'identité pour
    732         // distinguer ce cas avec une erreur de chargement qui renvoie une description vide.
    733         if ($description) {
    734                 // Mise à jour du md5
    735                 $description['signature'] = $md5;
    736                 // Identifie si la page est celle d'un objet SPIP
    737                 include_spip('base/objets');
    738                 $tables_objets = array_keys(lister_tables_objets_sql());
    739                 $description['est_page_objet'] = in_array(table_objet_sql($description_defaut['type']), $tables_objets) ? 'oui' : 'non';
    740                 // Complétude de la description avec les valeurs par défaut
    741                 $description = array_merge($description_defaut, $description);
    742                 // Sérialisation des champs blocs_exclus, necessite et branche qui sont des tableaux
    743                 $description['blocs_exclus'] = serialize($description['blocs_exclus']);
    744                 $description['necessite'] = serialize($description['necessite']);
    745                 $description['branche'] = serialize($description['branche']);
    746         } elseif ($md5 == $options['md5']) {
    747                 $description['identique'] = true;
    748         }
    749 
    750         return $description;
    751 }
    752 
    753532function noizetier_page_lister_blocs($page, $blocs_exclus = array()) {
    754533
  • _plugins_/noizetier/trunk/noizetier_vieilles_fonctions.php

    r104962 r104965  
    10041004// -------------------------------------------------------------------
    10051005
     1006// API traitées
     1007// ------------
    10061008/**
    10071009 * Retourne la liste des pages, des compositions explicites et des compositions virtuelles.
  • _plugins_/noizetier/trunk/prive/squelettes/hierarchie/noisette_add.html

    r104772 r104965  
    1 [(#ENV{page}|oui)
    2         #SET{informations, #NOIZETIER_PAGE_INFOS{#ENV{page}}}
    3         <a href="[(#URL_ECRIRE{noizetier_pages}|parametre_url{est_page_objet, #GET{informations/est_page_objet}})]">
    4                 [(#VAL{noizetier:liste_pages_objet_}|concat{#GET{informations/est_page_objet}}|_T)]
     1[(#REM) <!-- Fil d'ariane suivant que la noisette est liée à une page ou un objet --> ]
     2<BOUCLE_page(NOIZETIER_PAGES) {page}>
     3        <a href="[(#URL_ECRIRE{noizetier_pages}|parametre_url{est_page_objet, #EST_PAGE_OBJET})]">
     4                [(#VAL{noizetier:liste_pages_objet_}|concat{#EST_PAGE_OBJET}|_T)]
    55        </a> &gt;
    6         <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{page, #GET{page}})]">[ (#GET{informations/nom})]</a> &gt;
    7 ]
    8 [(#ENV{page}|non)
     6        <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{page, #PAGE})]">[ (#NOM)]</a> &gt;
     7</BOUCLE_page>
     8        [(#NOIZETIER_BLOC_INFOS{#ENV{bloc}, nom}) &gt;]
     9        <strong class="on">&nbsp;<:ecrire:info_sans_titre:></strong>
     10</B_page>
    911        <a href="#URL_ECRIRE{noizetier_objets}"><:noizetier:liste_objets:></a> &gt;
    1012        [(#INFO_LANG{#OBJET,#ID_OBJET}|changer_typo)]
     
    1214                [ (#INFO_TITRE{#OBJET, #ID_OBJET}|couper{80})]
    1315        </a> &gt;
    14 ]
    1516        [(#NOIZETIER_BLOC_INFOS{#ENV{bloc}, nom}) &gt;]
    1617        <strong class="on">&nbsp;<:ecrire:info_sans_titre:></strong>
    17 [(#ENV{page}|non)
    1818        [(#REM|changer_typo)]
    19 ]
     19<//B_page>
  • _plugins_/noizetier/trunk/prive/squelettes/hierarchie/noisette_edit.html

    r104772 r104965  
    1 <BOUCLE_ariane(NOISETTES) {id_noisette}>
    2 [(#TYPE|oui)
    3         [(#SET{page, #TYPE[-(#COMPOSITION)]})]
    4         #SET{informations, #NOIZETIER_PAGE_INFOS{#GET{page}}}
    5         <a href="[(#URL_ECRIRE{noizetier_pages}|parametre_url{est_page_objet, #GET{informations/est_page_objet}})]">
    6                 [(#VAL{noizetier:liste_pages_objet_}|concat{#GET{informations/est_page_objet}}|_T)]
    7         </a> &gt;
    8         <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{page, #GET{page}})]">[ (#GET{informations/nom})]</a> &gt;
    9 ]
    10 [(#TYPE|non)
    11         <a href="#URL_ECRIRE{noizetier_objets}"><:noizetier:liste_objets:></a> &gt;
    12         [(#INFO_LANG{#OBJET,#ID_OBJET}|changer_typo)]
    13         <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{objet, #OBJET}|parametre_url{id_objet, #ID_OBJET})]">
    14                 [ (#INFO_TITRE{#OBJET, #ID_OBJET}|couper{80})]
    15         </a> &gt;
    16 ]
    17         <strong class="on">[ (#NOIZETIER_NOISETTE_INFOS{#NOISETTE, nom}|sinon{<:ecrire:info_sans_titre:>})]</strong>
    18 [(#TYPE|non)
    19         [(#REM|changer_typo)]
    20 ]
    21 </BOUCLE_ariane>
     1<BOUCLE_noisette_edit(NOISETTES) {id_noisette}>
     2        [(#REM) <!-- Détermination du nom de la noisette --> ]
     3        <BOUCLE_noisette(NOIZETIER_NOISETTES) {noisette}>
     4                [(#SET{nom_noisette, #NOM})]
     5        </BOUCLE_noisette>
     6
     7        [(#REM) <!-- Fil d'ariane suivant que la noisette est liée à une page ou un objet --> ]
     8        <BOUCLE_page(NOIZETIER_PAGES) {type}{composition}>
     9                <a href="[(#URL_ECRIRE{noizetier_pages}|parametre_url{est_page_objet, #EST_PAGE_OBJET})]">
     10                        [(#VAL{noizetier:liste_pages_objet_}|concat{#EST_PAGE_OBJET}|_T)]
     11                </a> &gt;
     12                <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{page, #PAGE})]">[ (#NOM)]</a> &gt;
     13        </BOUCLE_page>
     14                [(#NOIZETIER_BLOC_INFOS{#_noisette_edit:BLOC, nom}) &gt;]
     15                <strong class="on">[ (#GET{nom_noisette})]</strong>
     16        </B_page>
     17                <a href="#URL_ECRIRE{noizetier_objets}"><:noizetier:liste_objets:></a> &gt;
     18                [(#INFO_LANG{#OBJET,#ID_OBJET}|changer_typo)]
     19                <a href="[(#URL_ECRIRE{noizetier_page}|parametre_url{objet, #OBJET}|parametre_url{id_objet, #ID_OBJET})]">
     20                        [ (#INFO_TITRE{#OBJET, #ID_OBJET}|couper{80})]
     21                </a> &gt;
     22                [(#NOIZETIER_BLOC_INFOS{#_noisette_edit:BLOC, nom}) &gt;]
     23                <strong class="on">[ (#GET{nom_noisette})]</strong>
     24                [(#REM|changer_typo)]
     25        <//B_page>
     26</BOUCLE_noisette_edit>
  • _plugins_/noizetier/trunk/public/noizetier_balises.php

    r104962 r104965  
    33if (!defined('_ECRIRE_INC_VERSION')) {
    44        return;
    5 }
    6 
    7 // Cette balise renvoie le tableau de la liste des pages
    8 function balise_NOIZETIER_PAGE_INFOS_dist($p) {
    9         $argument = interprete_argument_balise(1, $p);
    10         if (isset($argument)) {
    11                 if (!is_array($argument)) {
    12                         $page = str_replace('\'', '"', $argument);
    13                         $information = interprete_argument_balise(2, $p);
    14                         $information = isset($information) ? str_replace('\'', '"', $information) : '""';
    15                         $p->code = "page_informer($page, $information)";
    16                 } else {
    17                         $filtres = str_replace('\'', '"', $argument);
    18                         $p->code = "noizetier_page_repertorier($filtres)";
    19                 }
    20         } else {
    21                 $p->code = "noizetier_page_repertorier()";
    22         }
    23 
    24         return $p;
    255}
    266
  • _plugins_/noizetier/trunk/saisies/page_spip.html

    r103067 r104965  
    11[(#REM)
    22
    3 Saisies qui liste les pages du site SPIP (appelables par spip.php?page=xxx)
     3Saisies qui liste les pages du site SPIP (appelables par spip.php?page=xxx).
     4Les compositions sont exclues.
    45
    56  Parametres :
     
    1718        [(#ENV{cacher_option_intro}|ou{#ENV{multiple}}|non)<option value="0">[(#ENV{option_intro})]</option>]
    1819        <B_pages>
     20        <!-- TODO : c'est quoi #TITRE ??? -->
    1921        <optgroup label="#TITRE">
    20         <BOUCLE_pages(DATA){source table, #NOIZETIER_PAGE_INFOS}{par cle}>
    21         [(#VALEUR{composition}|non)
     22        <BOUCLE_pages(NOIZETIER_PAGES) {composition=''}{par page}>
    2223                [(#ENV{multiple}|oui)
    23                 <option value="#VALEUR{type}"[(#VALEUR{type}|in_array{#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#ARRAY}}}}|oui) selected="selected"]>[(#VALEUR{nom})] ([(#VALEUR{type})])</option>]
     24                <option value="#TYPE"[(#TYPE|in_array{#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#ARRAY}}}}|oui) selected="selected"]>[(#NOM)][ \((#TYPE)\)])</option>]
    2425                [(#ENV{multiple}|non)
    25                 <option value="#VALEUR{type}"[(#VALEUR{type}|=={#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}}|oui) selected="selected"]>[(#VALEUR{nom})] ([(#VALEUR{type})])</option>]
    26         ]
     26                <option value="#TYPE"[(#TYPE|=={#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}}|oui) selected="selected"]>[(#NOM)][ \((#TYPE)\)]</option>]
    2727        </BOUCLE_pages>
    2828        </optgroup>
Note: See TracChangeset for help on using the changeset viewer.