#FILTRE{ŧrim} [(#REM) On récupère la liste des modules autorisés pour ce bloc] [(#SET{modules_dispo, [(#BLOC|melusine_liste_modules_autorises{#TYPE}|sinon{#ARRAY})]} )] [(#REM) On récupère la liste des modules interdits pour ce bloc] [(#SET{modules_interdits, [(#BLOC|melusine_liste_modules_interdits{#TYPE}|sinon{#ARRAY})]} )] [(#REM) On trie les modules autorisés : unique ou multiple] [(#SET{modules_dispo_tries, [(#GET{modules_dispo}|melusine_trier_uniques)]} )] [(#REM) On boucle sur les noisettes déjà utilisées pour connaître celles qui sont déjà utilisées et dans la catégorie unique] [(#GET{modules_dispo_tries} |table_valeur_cleslash{uniques!#NOISETTE!unique} |=={oui}|oui) [(#SET{modules_pris_uniques, [(#GET{modules_pris_uniques}|sinon{#ARRAY}|push{#NOISETTE})]} )] ] [(#REM) On crée la liste des modules utilisables, càd : disponibles sans être uniques et déjà pris] [(#SET{modules_utilisables, [(#GET{modules_dispo}|sinon{#ARRAY}|array_diff_key{#GET{modules_pris_uniques} |sinon{#ARRAY}|array_flip})]})] [(#REM) Et on affiche le formulaire avec la liste des modules que l'on peut ajouter]
[

(#ENV*{message_erreur})

] [

(#ENV*{message_ok})

]
#ACTION_FORMULAIRE{#ENV{action}}
    [(#CLE|match{modules}|oui)
  • [(#CHEMIN{[(#VALEUR |table_valeur_cleslash{icon})]} |balise_img{icône,icone_module} |image_reduire{30,30} )] [(#VALEUR|table_valeur_cleslash{nom}|spip_ucfirst)]
    [
    (#VALEUR|table_valeur_cleslash{description}|propre)
    ]
  • ]

Liste des modules déjà utilisés dans un autre bloc et qui ne peuvent être ajoutés qu'une seule fois dans la page :

  • [(#GET{modules_dispo}|table_valeur_cleslash{#NOISETTE!nom})] [ (bloc « (#BLOC|melusine_nombloc) »)]

Liste des modules interdits dans ce type de bloc :

  • #VALEUR
[(#ENV{editable}|non) ]