Changeset 82923 in spip-zone


Ignore:
Timestamp:
Jun 9, 2014, 10:53:27 PM (7 years ago)
Author:
bmarne@…
Message:

Les modules (contrairement aux noisettes du noizetier) sont stockés dans la base et dans le retour de la liste des noisettes avec leur chemin: c'est le moyen le plus simple de retrouver où ils sont. Il faudra donc à l'affichage tester la présence d'un "/" dans le nom de la noisette pour déterminer si on l'inclus "noisette/".nom_noisette ou juste nom_noisette.

Location:
_squelettes_/galaxie_melusine/melusine/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/galaxie_melusine/melusine/trunk/melusine_administrations.php

    r82919 r82923  
    393393        include_spip('action/editer_objet');
    394394
     395        $tableau_chemins_modules_content = array(
     396                "article" => "modules/articles/",
     397                "rubrique" => "modules/rubriques/",
     398                "sommaire" => "modules/"
     399                );
    395400        // Pour chaque type de page...
    396401        foreach($modules as $type_page => $blocs) {
     
    406411                        //pour chaque noisette...
    407412                        foreach($liste_modules as $module) {
    408                                 $set['noisette'] = $module;
    409                                 $set['rang']++;
    410                                
    411                                 // insertion
    412                                 $id_noisette = objet_inserer("noisette", $id_parent="",$set);
    413                                 if (!$id_noisette)
    414                                         spip_log("Impossible d'insérer le module ".$module." dans le bloc ".$bloc." de la page ".$type_page. "au rang ".$rang);
     413
     414                                // gestions des différents cas particuliers
     415                                // des sous-répertoires de Mélusine 1 et DATICE
     416                                $nom_module = "modules/".$module;
     417                                if ($bloc == "content")
     418                                        $nom_module = $tableau_chemins_modules_content[$type_page].$module;
     419                                if ($bloc == "breadcrumb")
     420                                        $nom_module = "modules/chemin/".$module;
     421                                if ($bloc == "footer")
     422                                        $nom_module = "modules/footer/".$module;
     423                                if ($module == "aucun")
     424                                        $nom_module ="";
     425                                echo "$nom_module - ";
     426                                // Si le module n'est pas vide:
     427                                if ($nom_module) {
     428                                        $set['noisette'] = $nom_module;
     429                                        $set['rang']++;
     430
     431                                        // insertion
     432                                        $id_noisette = objet_inserer("noisette", $id_parent="",$set);
     433                                        if (!$id_noisette)
     434                                                spip_log("Impossible d'insérer le module ".$module." dans le bloc ".$bloc." de la page ".$type_page. "au rang ".$rang);
     435                                }
    415436                        }
    416437                }
  • _squelettes_/galaxie_melusine/melusine/trunk/melusine_fonctions.php

    r82919 r82923  
    365365                        $noisette = preg_replace(',[.]html$,i', '', $squelette);
    366366                        $dossier = str_replace($squelette, '', $chemin);
     367                       
     368                        // Position du module dans les osu-rép de Mélusine
     369                        $sous_rep_pos = strrpos($dossier,"modules/");
     370                        if ($sous_rep_pos === false)
     371                                $sous_rep_pos = ""; // compat noizetier: pas de chemin dans le nom de la noisette
     372                       
    367373                        // On ne garde que les squelettes ayant un fichier YAML de config
    368374                        if (file_exists("$dossier$noisette.yaml")
     
    371377                                // diff avec noizetier:
    372378                                // le sous-répertoire va être noté pour
    373                                 // les inclusions... Il peut être dans
    374                                 // modules ou noisettes
    375                                 $sous_rep_pos = strrpos($dossier,"modules/");
    376                                 if ($sous_rep_pos === false)
    377                                         $sous_rep_pos = strrpos($dossier,"noisettes/");
    378                                 $liste_noisettes[$noisette] = array_merge(
    379                                                 $infos_noisette,        // compat noizetier
    380                                                 array("repertoire" => substr($dossier,$sous_rep_pos))   // On note le sous-rép pour l'inclusion
    381                                         );
     379                                // les inclusions...
     380                                $liste_noisettes[substr($dossier,$sous_rep_pos).$noisette] = $infos_noisette;
    382381                        } else {
    383382                                // diff avec noizetier:
    384383                                // Sans YAML, on garde la noisette
    385384                                // avec des infos sommaires
    386                                 $bloc = substr($dossier,strrpos($dossier,"modules/")+8,-1);
    387                                 $liste_noisettes[$noisette] = array(
     385                                $bloc = substr($dossier,$sous_rep_pos+8,-1);
     386                                $liste_noisettes[substr($dossier,$sous_rep_pos).$noisette] = array(
    388387                                                "nom" => spip_ucfirst(str_replace("_"," ",$noisette)),
    389388                                                "parametres" => array(),
     
    392391                                                "inclusion" => "statique",
    393392                                                "bloc" => $bloc,        // spécifique de Mélusine
    394                                                 "repertoire" => substr($dossier,strrpos($dossier,"modules/",-1))                        // On note le sous-rép pour l'inclusion
    395393                                        );
    396394                        }
  • _squelettes_/galaxie_melusine/melusine/trunk/paquet.xml

    r82919 r82923  
    22        prefix="melusine"
    33        categorie="squelette"
    4         version="2.0.3"
     4        version="2.0.4"
    55        etat="dev"
    66        compatibilite="[3.0.4;3.0.*]"
    77        logo="prive/themes/spip/images/melusine-64.png"
    88        documentation="http://datice.ac-creteil.fr/spip"
    9         schema="1.1.0"
     9        schema="1.1.1"
    1010>
    1111
Note: See TracChangeset for help on using the changeset viewer.