SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 236 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > noiZetier > Déclarer des noisettes au noiZetier

Déclarer des noisettes au noiZetier

21 juin 2010 – par Joseph – 80 commentaires

7 votes

Où placer les noisettes

Une noisette est un fichier HTML placée dans un sous-répertoire noisettes situé dans le répertoire d’un plugin ou dans le répertoire squelettes.

Pour être utilisée par le noiZetier, une noisette doit impérativement être accompagnée d’un fichier de configuration au format YAML [1].

Nommage des noisettes

Une noisette pouvant s’insérer sur n’importe quelle page sera nommée tout simplement nom_noisette.html. Par convention, seuls les lettres minuscules et l’underscore (_) sont autorisés pour nom_noisette.

L’usage du tiret (-) est réservé pour spécifier les noisettes ne pouvant être incluses que sur une page spécifique et qui sont nommées nom_page-nom_noisette.html. Ainsi, une noisette spécifique à la page article sera nommée article-nom_noisette.html et le noiZetier ne la proposera que sur la page article et les compositions de la page article.

Au cas où une noisette ne devrait être proposée que sur une composition spécifique, elle sera nommée type-composition-nom_noisette.html

Décrire une noisette au format YAML

Pour bénéficier de toutes les possibilités offertes par le plugin Saisies ainsi que des vérifications offertes par le plugin Vérifier, il est nécessaire de décrire la noisette au format YAML.

Le fichier de configuration sera nommé de la même manière que la noisette. Seule son extension sera modifiée en .yaml.

Exemple :

  1. nom: '<:aveline:nom_menu:>'
  2. description: '<:aveline:description_menu:>'
  3. icon: 'images/menus-24.png'
  4. necessite:
  5. - 'menus'
  6. contexte:
  7. - 'id_rubrique'
  8. - 'page'
  9. parametres:
  10. -
  11.   saisie: 'menu'
  12.   options:
  13.   nom: 'identifiant'
  14.   label: '<:aveline:label_identifiant_menu:>'
  15.   cacher_option_intro: 'oui'
  16.   obligatoire: 'oui'
  17. -
  18.   saisie: 'oui_non'
  19.   options:
  20.   nom: 'afficher_titre_menu'
  21.   label: '<:aveline:label_afficher_titre_menu:>'
  22.   defaut: 'on'

Télécharger

nom est obligatoire. Il indique le nom de la noisette à afficher dans l’interface de configuration. Peut être une chaîne de langue.

description est facultatif. Permet de détailler ce que fait la noisette. Peut être une chaîne de langue.

icon est facultatif. Il s’agit du chemin relatif à une image qui sera utilisée comme icône de la noisette.

parametres est optionnel et permet de spécifier les paramètres configurables que l’on souhaite passer à la noisette.

Les paramètres sont dès lors décrits en suivant les spécifications du plugin Saisies. Il est alors possible de décrire finement un formulaire de configuration de la noisette.

Il est possible d’ajouter des vérifications à effectuer sur les valeurs des paramètres. Exemple :

  1. -
  2.   saisie: 'input'
  3.   options:
  4.   nom: 'pas_pagination'
  5.   label: '<:aveline:label_pas_pagination:>'
  6.   defaut: 5
  7.   verifier:
  8.   type: 'entier'
  9.   options:
  10.   min: 1

Télécharger

contexte permet de spécifier les variables de contexte à transmettre à la noisette. Si l’on ne doit transmettre qu’une seule variable, on pourra écrire
contexte: 'une_variable' [2]. Si plusieurs variables doivent être transmises, on optera pour l’écriture suivante :

Si contexte n’est pas spécifié, toutes les variables d’environnement seront transmises à la noisette. Il est également possible de spécifier explicitement que toutes les variables d’environnement doivent être transmises avec contexte: 'env'.

Si aucune variable d’environnement ne doit être transmise à la noisette, on indiquera contexte: 'aucun'.

necessite est facultatif et permet de spécifier que cette noisette ne doit être proposée que si un plugin spécifique est activé. Cela peut être utilisé pour des noisettes fournies par un squelette compatible avec certains plugins sans les imposer.

Récupérer les paramètres de la noisette

Lors de l’inclusion de la noisette, le noiZetier transmet les paramètres en tant que variable d’environnement. Ceux-ci se récupèrent donc très facilement avec #ENV{param}.

Le noiZetier transmet systématiquement à la noisette les variables d’environnement bloc, type et composition.

Inclusion AJAX

Le noiZetier inclut les noisettes avec le critère {ajax}. Il est donc possible d’utiliser des liens avec la classe ajax. Voir la documentation de SPIP pour plus de détails.

Il est possible de spécifier au noiZetier qu’une noisette ne doit pas être inclue en AJAX. Pour cela, il suffit d’ajouter au YAML de la noisette la ligne suivante :

Inclusion dynamique

Le noiZetier inclut par défaut les noisettes de manière statique. Elles n’ont donc pas de cache autonome mais le cache de la page englobante.

À partir de la version 0.12.0, il est cependant possible d’inclure dynamiquement une noisette. Cette dernière aura alors sa propre durée de cache définie avec la balise #CACHE au début du fichier HTML de la noisette. Cela est notamment utilise pour des noisettes nécessitant un cache nul.

Pour indiquer au noiZetier d’inclure dynamiquement la noisette, il faut ajouter la ligne suivante au YAML de la noisette :

Utilisation des noisettes en dehors du noiZetier

Une noisette restant un squelette inclus, elle peut être utilisée par simple inclusion dans un squelette : <INCLURE{fond=noisettes/nom-complet-noisette}{param=val}>.

Le cache des noisettes

Afin d’améliorer la rapidité du noiZetier, les descriptions des noisettes, des variables de contexte à transmettre aux noisettes et l’inclusion en AJAX ou non sont mises en cache.

De fait, lorsque vous développez une noisette et testez en même temps comment se présente le formulaire de configuration dans le noiZetier, il est possible que vos dernières modifications ne soient pas affichées à moins que vous ne rajoutiez &var_mode=recalcul dans l’URL de la page.

Aperçu de la noisette

À partir de la version 2 du noizetier, vous pouvez définir un aperçu de la noisette. Il s’agit d’un squelette nommé noisettes/nom_noisette-preview.html qui recevra les paramètres de la noisette et qui permettra de produire un résumé de ce que fera la noisette.

Voici par exemple le contenu du fichier noisettes/article-filariane-preview.html du plugin Aveline :

  1. [(#SET{ariane_separateur, #ENV{ariane_separateur}|is_null|non|?{#ENV{ariane_separateur},'&gt;'}})]
  2. [(#SET{longueur_max_titres, #ENV{longueur_max_titres}|sinon{80}})]
  3. [(#ENV{afficher_lien_accueil}|oui)<:accueil_site:>]
  4. [(#ENV{afficher_secteur}|oui) [(#GET{ariane_separateur})] <:aveline:secteur:>]
  5. [(#GET{ariane_separateur})] <:rubriques:> [(#ENV{afficher_secteur}|non) (<:aveline:secteur_exclu:>)]
  6. [(#ENV{afficher_titre_article}|oui) [(#GET{ariane_separateur})] <:article:>]

Télécharger

Notes

[1Avant la version 0.8, le noiZetier acceptait de décrire des noisettes au format XML. Pour faciliter la maintenance, seul le format YAML est maintenant accepté.

[2L’écriture

est également valide.

Dernière modification de cette page le 21 octobre 2012

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 12 juin à 12:58, par Mist. GraphX En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,

    Dans un yaml construisant le formulaire de paramétrage d’une noisette, dans mon cas présent l’objet grappe, je conditionne l’affichage d’une saisie avec l’option afficher_si, je n’arrive pas a récupérer ou transmettre le résultat de ma saisie 1 a ma saisie 2 , pourtant d’après les docs que j’ai pu trouver il me semble que cela devrait fonctionner non ?

    exemple :

    1. nom: "Grappe d'objets"
    2. description: 'Afficher une grappe listant des objets'
    3. icon: 'prive/themes/spip/images/grappe-24.png'
    4. contexte:
    5. - 'identifiant'
    6. - 'id_grappe'
    7. parametres:
    8. -
    9.   saisie: 'grappe'
    10.   options:
    11.   nom: 'identifiant'
    12.   label: 'Identifiant'
    13.   cacher_option_intro: 'non'
    14.   option_intro: 'Sélectionnez une grappe'
    15.   defaut: ''
    16. -
    17.   saisie: 'selection_grappe_liaisons'
    18.   options:
    19.   nom: 'liaison'
    20.   label: 'liaison'
    21.   cacher_option_intro: 'oui'
    22.   afficher_si: '@identifiant@ != ""'
    23.   identifiant: '@identifiant@'

    Télécharger

    Merci de vos idées ou explications

    • Le 12 juin à 13:38, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Je ne comprends pas la dernière ligne ?

      identifiant: '@identifiant@'

      On peut en effet conditionner l’affichage d’une saisie en fonction des valeurs des autres saisies (en fait cela génère un javascript pour afficher/masquer la saisie en fonction des autres valeurs). Par contre, on ne peut pas récupérer la valeur d’une saisie comme paramètre d’une autre saisie.

    • Le 12 juin à 14:45, par Mist. GraphX En réponse à : Déclarer des noisettes au noiZetier

      Justement donc, ça repond a ma question : ce n’est pas possible.

      En fait ma première saisie devrait lister les grappes et retourner l’identifiant

      la seconde quand a elle devrait en fonction de l’identifiant lister les objets LIAISONS de la grappe en question.

      en fait il faut que je fasse une saisie qui fasse les deux en une pour que ça fonctionne il me semble.

    • Le 12 juin à 16:25, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      tout à fait

    Répondre à ce message

  • Le 12 mai 2013 à 01:28, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

    Question toute bête : le titre et le descriptif de mes noisettes n’apparaissent pas dans le back-office. Le logo, lui apparaît. J’ai eu beau tout retourner, et vider et re-vider le cache, quelque chose m’échappe.

    Voici le yaml :

    nom: 'Module de lecture audio'
    description: 'Affiche un player audio si fichier MP3 joint à l'article'
    icon: 'noisettes/icones/mp3.png'
    contexte:
    - 'id_article'
    ajax: 'non'

    Et en image jointe, ce qui s’affiche dans le back-office.

    Merci !!

    JPEG - 54.7 ko
    • Le 14 mai 2013 à 11:59, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Dans la description, il y a une apostrophe alors que l’apostrophe est utilisée pour délimiter le texte. Essayez d’utilisez des guillemets doubles : "Affiche un player audio si fichier MP3 joint à l'article"

    • Le 15 mai 2013 à 08:12, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      J’ai mis des guillemets typographiques, voici mon fichier yaml :

      nom: «Player audio»
      description: «Player audio»
      icon: 'noisettes/icones/mp3.png'
      contexte:
      - 'id_article'
      ajax: 'non'

      Mais ça n’y change rien...

    • Le 15 mai 2013 à 08:54, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Euhhh vous avez utilisez des guillemets typographiques français ou de simples guillemets doubles droits ? ("). Seuls les guillemets droits sont reconnus comme délimiteurs de texte.

      Par aileurs, combien d’espaces avez avant - 'id_article' en début de ligne ? YAML est très strict en matière d’identation. Il doit y avoir exactement 2 espaces.

    • Le 15 mai 2013 à 09:15, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      Merci !
      Alors, les guillemets doubles ne changent rien. Concernant l’espace double, il est à mettre en début de ligne, j’ai fait ceci :

      nom: "Player audio"
      description: "Player audio"
      icon: 'noisettes/icones/mp3.png'
      contexte:
       - 'id_article'
      ajax: 'non'

      Pour le moment, ça ne change rien. Mais je sens que vous avez raison, cela doit être dans la rédaction du YAML.

    • Le 15 mai 2013 à 11:48, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Attention : il y a un cache du descriptif des noisettes. Il faut mettre ce cache à jour après mise à jour du YAML d’une noisette. Trois possibilités :

      • sur une des pages du noizetier, ajoutez &var_mode=recalcul à l’URL ;
      • se rendre sur la page de gestion du cache et vider le cache ;
      • se rendre sur la page de gestion des plugins (ce qui a pour effet de vider le cache des noisettes).

      Bien cordialement

    • Le 15 mai 2013 à 12:43, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      Merci !
      J’ai fait ces trois opérations, mais toujours pas de titre à mes noisettes....
      Je précise que mes noisettes sont dans le dossier squelettes, dans un sous-dossier noisettes.
      J’ai mis le fichier YAML ici : http://we.tl/paF8QeZL69, si vous voulez aller voir l’original...

    • Le 15 mai 2013 à 23:44, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      J’ai quasiment réglé le problème : je créais mes fichiers de noisettes en encodage UTF-8 (croyant bien faire), et, en regardant les autres noisettes, j’ai constaté que les fichiers étaient encodés en ANSI. j’ai donc encodé en ANSI mes fichiers de noisettes, et, ô miracle, les titres apparaissent ! (les caractères accentués ne passent pas, c’est un détail)
      Mais, par contre, les descriptifs n’apparaissent pas (c’est un peu embêtant), et je ne me l’explique pas non plus. Voici le code :

      nom: "Player audio"
      description: "Si un ou plusieurs fichiers MP3 sont en documents joints de l'article, alors cela affiche un ou plusieurs players audio avec le titre du document."
      icon: 'noisettes/icones/mp3.png'
      contexte:
       - 'id_article'
      ajax: 'non'
    • Le 16 mai 2013 à 08:55, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Avez-vous essayé l’encodage « UTF-8 sans BOM » ? De mémoire, je crois que ça doit passer (à vérifier).

      Vous avez toujours la solution de passer par des chaînes de langue personnalisées. (ce qui est utiliser pour Aveline même si c’est un peut lourd pour des noisettes perso).

      Concernant le descriptif, il n’est visible que dans la colonne de gauche (en haut) des pages de configuration d’une noisette (exec=noisette_edit). Sur exec=page qui liste les noisettes installées sur une page donnée, les descriptions des noisettes ne sont pas affichées. Par contre, si la noisette dispose d’un aperçu (voir ci-dessus) alors l’aperçu sera affiché.

    • Le 16 mai 2013 à 09:51, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      Je vais essayer UTF8 sans bom. L’aperçu, qu’est-ce ?
      En fait, quand je parlais de descriptif, je voulais évoquer ce texte là (image jointe). Mais, en fait, ça doit venir de la configuration. Mais comment fait-on pour faire apparaître un petit texte à cet endroit là ?

      JPEG - 42.2 ko
    • Le 16 mai 2013 à 10:59, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Ce texte correspond à l’aperçu de la noisette. Voir la fin de l’article ci-dessus. Il est généré à partir d’un petit squelette qui reçoit en variables d’environnement les paramètres de la noisette, ce qui lui permet d’afficher un texte différent selon la configuration de la noisette.

      On peut aussi faire un petit squelette simple avec un texte fixe. Il doit être nommé noisettes/nom_noisette-preview.html.

      Cordialement

    • Le 16 mai 2013 à 11:39, par Benoît Labourdette En réponse à : Déclarer des noisettes au noiZetier

      Bonjour,
      C’est parfait !
      Ca marche !
      Merci beaucoup.
      Benoît

    Répondre à ce message

  • Le 14 janvier 2013 à 23:03, par ordilibre En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,

    J’ai besoin d’aide SVP. J’utilise :

    SPIP 3.0.5 [19905]
    Aveline 2.2.7 - test
    noiZetier 2.1.0 - test
    YAML 1.5.0 - stable
    Zpip-dist v1 1.7.21 - stable
    Zpip-vide 2.1.0 - test

    Toutes les fonctionnalités sont utilisables sans problème. Cela se complique lorsque je souhaite ajouter des noisettes. J’utilise en effet un fichier planchecontact.html chargé de récupérer une image au hasard pour les 5 derniers articles modifiés et les afficher en très petites vignettes. Ce code fonctionne très bien dans un squelette complet. Je souhaite ici l’utiliser comme une noisette.

    <BOUCLE_arts_cacher (ARTICLES){titre_mot=cacher}{doublons art}>
    </BOUCLE_arts_cacher> <!-- Pointe dans 'doublons art' tous les articles à cacher avec le mot clé 'cacher'-->
    <BOUCLE_rub_cacher (RUBRIQUES){titre_mot=cacher}{doublons rub}>
       <BOUCLE_arts_rub_cacher (ARTICLES){id_rubrique}{doublons art}>
       </BOUCLE_arts_rub_cacher>
    </BOUCLE_rub_cacher>
    <BOUCLE_art (ARTICLES){0,5}{par date_modif}{inverse}{doublons art}>
    <BOUCLE_img(DOCUMENTS){extension==jpg|png|gif}{id_article}{mode=document}{0,1}{par hasard}>
       [(#REM) document lie a un article ?]
       <BOUCLE_lien_a(spip_documents_liens){id_document=#ID_DOCUMENT}{id_objet=#ID_ARTICLE}{objet=article}>
            <BOUCLE_lien_article(ARTICLES){id_article=#ID_OBJET}>
            <a href="#URL_ARTICLE">[(#_img:FICHIER|image_reduire{40})]</a>
            </BOUCLE_lien_article>
       </BOUCLE_lien_a>
    </BOUCLE_img>
    </BOUCLE_art>

    Ensuite je définie le fichier planchecontact.yaml de la manière suivante :

    nom: 'Planche contact mini photos'
    description: 'Noisette d affichage d'une planche contact des photos issues des derniers articles modifiés'
    icon: 'contenu-24.png'
    ajax: 'non'

    Dans ce cas, j’obtiens bien la noisette dans le noizetier.

    Mais :

    1) si le fichier contient le caractère ’_’ comme par exemple planche_contact, impossible de récupérer le fichier dans le noizetier. D’ailleurs la mise à jour des noizettes (qu’on ajoute ou qu’on modifie) n’est pas faite par l’interface même avec le &var=recalcul ou le cache désactivé. Il est nécessaire de vider le cache complètement par ftp pour l’obtenir.

    2) lorsque je souhaite paramétrer le code html pour choisir le nombre de vignettes à afficher en modifiant :

    <BOUCLE_art (ARTICLES){0,5}{par date_modif}{inverse}{doublons art}>
    par
    <BOUCLE_art (ARTICLES){0,#ENV{param}}{par date_modif}{inverse}{doublons art}>

    Avec le fichier yaml suivant, rien ne va plus.

    nom: 'Planche contact mini photos'
    description: 'Noisette d affichage d'une planche contact des photos issues des derniers articles modifiés'
    icon: 'contenu-24.png'
    ajax: 'non'
    parametres:
     -
            saisie: 'input'
       options:
         nom: 'nb_vignettes'
         label: 'Nombre de vignettes'
         defaut: 5

    Dès lors que j’ajoute les parametres dans le fichier yaml, la noisette disparaît du noizetier.

    J’avoue qu’un peu d’aide à ce niveau me rendrait des couleurs. Ou peut on trouver des informations sur la syntaxe des paramètres des fichiers yaml ?

    Merci d’avance

    • Le 15 janvier 2013 à 15:49, par ordilibre En réponse à : Déclarer des noisettes au noiZetier

      Information syntaxe YAML : http://yaml.org/refcard.html

    • Le 15 janvier 2013 à 17:00, par ordilibre En réponse à : Déclarer des noisettes au noiZetier

      Je me réponds à la question 2)

      Yaml étant sensible aux tabulations, il est important d’utiliser un éditeur de texte qui permette de les visualiser (notepad++ par exemple). C’était la cause de mes ennuis.

      Attention aussi à utiliser le nom du parametre dans #ENV{param}, dans l’exemple ce sera donc #ENV{nb_vignettes}

      pour la question 1) , la mise à jour des noisettes reste toujours subordonnée à la suppression totale du cache par ftp.

    • Le 15 janvier 2013 à 18:57, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Bonjour,

      YAML est effectivement très sensible à l’indentation (utiliser des espaces et non des tabulations).

      Le nom du paramètre doit bien sur correspondre entre le YAML et le squelette.

      Le caractère _ (underscore) est bien autorisé dans les noms de noisette. Attention néanmoins à ce que les noms des fichiers .html et .yaml soient bien identiques. Surtout, il ne faut pas confondre avec - (tiret) qui lui sert à indiquer qu’une noisette ne peut être utilisée que sur certaines pages.

      Pour recalculer le descriptif des noisettes, il faut ajouter &var_mode=recalcul et non &var=recalcul à l’URL.

      Sachez également que le cache des noisettes est également vidé à chaque passage sur la page de gestion des plugins.

      Bien cordialement

    • Le 15 janvier 2013 à 18:59, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Pour information, la désactivation du cache des squelettes ne désactive pas le cache du descriptif des noisettes. Il faut donc bien passer par var_mode=recalcul ou par la page ?exec=admin_plugin ou par vidage du cache.

    Répondre à ce message

  • Le 18 août 2011 à 00:07, par Stéphane Santon En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,

    A partir du moment où les noisettes sont présentes sur le site public, ne peut-on pas imaginer (quand un admin est connecté sur le site public) des petites icônes en haut de chaque bloc pour simplement déplacer la noisette dans un autre bloc, de Navigation à Extra par exemple ? Comme avec Moodle...

    • Le 19 août 2011 à 11:51, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Si vous savez le programmer en javascript, c’est tout à fait envisageable. Pour ma part, c’est en dehors de mon domaine de compétence. Mais je suis persuadé qu’il y a aurait beaucoup à faire pour améliorer l’interface tant privée que publique du noizetier.

      Bien cordialement

    Répondre à ce message

  • Le 17 août 2011 à 23:38, par Stéphane Santon En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,

    Comment passe-t-on les apostrophes dans les nom et description de noisettes ?
    Merci

    Répondre à ce message

  • Le 23 juin 2011 à 23:40, par wini1348 En réponse à : Déclarer des noisettes au noiZetier

    Bonjour à toutes et tous,
    Je viens de migrer de SPIP 1.9 avec Maguzine à Spip 2.1 et je découvre Aveline et le noiZetier.
    Excellent travail. Le principe est un peu le même entre Maguzine et les noisettes du couple Aveline-noiZetier. Je m’étais frotté à la personnalisation de certains blocs à l’époque et je me dis que je ferais bien de même avec certaines noisettes. Et en particulier la création d’une qui pourrait s’installer n’importe où (mais surtout sur la page-sommaire, ...) et qui afficherait une image prise au hasard dans pièces joints des articles d’une rubrique bien précise.

    Croyez-vous que le travail soit compliqué ? Pour ne pas ré-inventer la roue complètement il vaudrait mieux partir de quel base dans la collection de noisettes existantes ?

    Bonne nuit ou bonne journée, je ne sais pas quand vous me lirez.
    Nicolas

    • Le 24 juin 2011 à 10:01, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Bonjour,

      il y a une certaine parentalité entre magusine et le noizteier, même si le squelette initial à la réflexion de ce long projet est en fait BliP.

      La difficulté pour créer une noisette dépend du niveau de sophistication recherché. Celles d’Aveline comportent de nombreux paramètres et leurs propres surcouches de balises filtres et inclusions dédiées ce qui ne le rends pas facile à comprendre.

      Concernant la noisette qui que vous souhaitez faire, il n’y a pas encore de noisette équivalente, mais elle peut être facilement réalisée si vous avez déjà une connaissance de la syntaxe des squelettes SPIP et que vous avez compris le format YAML et la description de saisies.

      Grosso modo, votre noisette ne nécessite qu’un seul paramètre, la rubrique dans laquelle chercher l’image. Il faut ensuite construire la bonne boucle pour sélectionner l’image voulue.

      Cordialement

    Répondre à ce message

  • Le 13 mai 2011 à 11:47, par triton En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,
    je continue mon apprentissage de ce nouveau dispositif, et c est vraiment très chouette...
    Je rencontre une petite difficulté, je n arrive pas a faire fonctionner un formulaire CVT à partir d une noisette...
    dans mon dossier « noisettes » j ai :
    monform.html
    monform.yaml
    qui me permet d afficher et d administrer le formulaire en tant que noisette
    Par contre, je ne sais ou coller le fichier :
    monform.php pour qu il effectue les traitements... En toute logique spip les fichiers monform.html et php devrait se situer dans un dossier « formulaires ».
    L idée c est de pouvoir configurer les champs du formulaire CVT a partir du fichier yaml, je ne peux donc pas faire juste une noisette avec dedans un appel a #MONFORM (comme pour le form de rechercce aveline par ex)... bref, je ne sais pas trop comment organiser la structure des repertoires..
    Merci bien
    triton

    • Le 13 mai 2011 à 13:33, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      On est dans un contexte particulier. Pour fonctionner correctement, il faut que ton formulaire soit déclaré comme un formulaire classique, donc dans le répertoire formulaires. Attention : un formulaire s’appelle avec la balise #FORMULAIRE_MONFORM et non #MONFORM.

      Par contre tu souhaites que ton formulaire soit paramétrable. Ce qui est possible (voir http://programmer.spip.org/Passage-...).

      Tu auras donc un formulaire qui doit être appelé avec différents paramètres : #FORMULAIRE_MONFORM{parma1, param21, param3}.

      Dans un premier temps, créer ton formulaire de manière classique en le testant dans un squelette classique où tu lui passeras les paramètres en dur.

      Ensuite, une fois ton formulaire finalisé, tu peux créer une noisette qui proposera les différents paramètres. Et le code html de la noisette contiendra : #FORMULAIRE_MONFORM{#ENV{param1},#ENV{param2},#ENV{param3}}.

    • Le 15 mai 2011 à 18:04, par triton En réponse à : Déclarer des noisettes au noiZetier

      ok... j ai compris.... je vais tester....
      Merci beaucoup

    • Le 16 mai 2011 à 15:05, par triton En réponse à : Déclarer des noisettes au noiZetier

      j ai testé... ca marche, mais alors c est un petit peu monstrueusement lourd a mettre en place... bon, faut dire que j ai une vingtaine de valeurs a faire transiter entre le .yaml le .html de la noisette, la fonction charger du .php jusqu au html du formulaire.... le tout dans le bon ordre et sans se rater sur un espace..
      J ai vu qu il y avait une contrib sur les formulaires CVT en YAML :
      http://www.spip-contrib.net/Un-formulaire-C-V-T-avec-Saisies-par-l-exemple
      peut etre qu il y a quelque chose a faire avec ca....
      triton

    • Le 16 mai 2011 à 16:31, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Il faut distinguer la description du formulaire (qui peut être fait en YAML avec Saisies) des paramètres de personnalisation du formulaire (ce qui est moins fréquent et forcément plus lourd à mettre en place). De toute façon, dès lors que l’on a de nombreuses personnalisations possibles, les choses sont plus lourdes à gérer.

    Répondre à ce message

  • Le 23 avril 2011 à 10:08, par triton En réponse à : Déclarer des noisettes au noiZetier

    Bonjour,
    J ai crée une nouvelle noisette assez simple, qui semble fonctionner sauf que...
    si je mets plusieurs fois cette noisette sur une même page, lorsque j administre la configuration d’une noisette, cela modifie également la configuration des autres (en administration et en affichage site public)... Ce n’est pas systématique, c est assez difficile a reproduire, tous les champs de la noisette ne sont pas concernés, c est assez déroutant....
    Noizetier Version : 0.10.1 [46170]
    le contenu du yaml :
    /////////////////////////
    nom : ’encart cliquable’
    description : ’un encart avec titre logo descriptif lien’
    icon : ’img/ic_article.png’
    contexte : ’aucun’
    parametres :

    -
    saisie : ’selecteur_rubrique_article’
    options :
    nom : ’id_objet_01’
    label : ’rubrique article’
    obligatoire : ’oui’
    -
    saisie : ’input’
    options :
    nom : ’largeur_logo’
    label : ’largeur_logo’
    obligatoire : ’non’
    -
    saisie : ’input’
    options :
    nom : ’hauteur_logo’
    label : ’hauteur_logo’
    obligatoire : ’non’
    -
    saisie : ’input’
    options :
    nom : ’squelette_destination’
    label : ’squelette_destination’
    obligatoire : ’non’
    -
    saisie : ’selecteur_rubrique_article’
    options :
    nom : ’id_objet_destination’
    label : ’Objet (article, rubrique...) affiché par defaut’
    obligatoire : ’non’
    ///////
    Ca fait pareil avec un input a la place du selecteur_rubrique_article (c est bien chouette ce truc)...
    Merci beaucoup
    triton

    Répondre à ce message

  • Le 29 mars 2011 à 10:46, par yohooo En réponse à : Déclarer des noisettes au noiZetier

    Bonjour, j’aimerai pouvoir créer une sorte de filtre de test dans une noizette pour modifier l’apparence de celle-ci en fonction du bloc dans laquelle elle se trouve (il s’agit de modifier le redimensionnement d’un logo d’article en fonction de la largeur du bloc.).

    Existe t’il une sorte de balise #ID_BLOC que l’on puisse insérer dans une noizette ?

    Cela m’embêterait de modifier le redimensionnement par CSS....

    • Le 29 mars 2011 à 12:15, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Normalement, vous devriez avoir accès au nom du bloc avec #ENV{bloc}.

      Cordialement

    • Le 29 mars 2011 à 19:33, par yohooo En réponse à : Déclarer des noisettes au noiZetier

      Merci pour la réponse.

      Malheureusement, cette variable n’est pas passée.

    • Le 29 mars 2011 à 21:02, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Normalement, la variable bloc est bien passée à l’environnement sauf si dans le YAML de la noisettes vous avez spécifié une liste restreinte de variables d’environnement et que bloc n’en fait pas partie.

    Répondre à ce message

  • Le 29 novembre 2010 à 17:54, par korama En réponse à : Déclarer des noisettes au noiZetier

    Je continue mon exploration du noiZetier...

    N’ayant pas pu faire de manière satisfaisante l’appel des pages uniques (faut dire je suis pas doué en codage non plus...), j’ai contourné la difficulté en faisant des modèles et en les appelant via une noiZette « contenu textuel libre ». C’est pas la panacée, mais ça marche :D

    J’avais une question, car impossible de trouver la réponse : y a t il moyen de faire un gabarit spécifique à une série d’articles comme on pouvait avoir avant un squelette unique pour tous les articles de la rubrique X ? Car autant on peut faire un gabarit pour une rubrique, ou un article, autant je n’ai pas trouvé comment faire un gabarit pour les articles d’une rubrique. Je prend le cas d’une rubrique « News » (rubrique que j’ai déclinée depuis le gabarit rubrique du noiZetier) qui regroupe bien sûr toutes les « news ». Or les news ne sont pas des articles comme les autres et nécéssitent donc une présentation spéciale (notamment les zones navigation et exta). Or là je suis obligé de créer un contenu article-news que je dois appliqué à chaque news... ça risque d’être fastidieux...

    Enfin, j’ai remarqué un bug, je sais pas si je suis le seul :
    Quand j’appelle une page spécifique (comme login, contact, plan...), j’ai un redoublement des infos contenues dans la zone « extras » (il me double tout ce qui est dans Pre extras et Post extra)...

    • Le 30 novembre 2010 à 00:55, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Concernant un gabarit différent pour certains objets, il s’agit des Compositions. Aucunement le rôle du noiZetier, même si le noiZetier peut être utilisé pour définir différentes compositions.

      La lecture de http://joseph.larmarange.net/A-prop... pourra vous être utile.

      A toute fin utile, je rappelle qu’une noisette n’est qu’un morceau de contenu s’insérant dans un bloc.

      Ensuite, le noiZetier ne fournit pas de noisettes. Voulez-vous dire l’utilisation du noiZetier avec le squelette Aveline ?

      Concernant le bug rencontré, je peux essayer de regarder ça demain. Question : utilisez-vous la toute dernière version du noiZetier ?

    • Le 30 novembre 2010 à 01:29, par korama En réponse à : Déclarer des noisettes au noiZetier

      Je voulais parler du noizetier avec Aveline oui.

      Aveline version 0.6.1 [42303]
      NoiZetier version 0.8.1 [42302]

      Je vais jeter un oeil sur l’article en lien merci.

    • Le 7 décembre 2010 à 23:46, par korama En réponse à : Déclarer des noisettes au noiZetier

      Je me permet de relancer car malgrè mes recherches je n’ai pas trouvé pourquoi j’avais un redoublement de « avant extra » et « après extra » quand j’appelle une page du tupe page=plan, page=contact, etc...

    • Le 20 janvier 2011 à 11:02, par korama En réponse à : Déclarer des noisettes au noiZetier

      Up... toujours pas trouvé pourquoi j’avais un redoublement des infos avant-extra et apres-extra dans les pages du style « page-contact », « page-plan », etc...

    • Le 20 janvier 2011 à 11:31, par Joseph En réponse à : Déclarer des noisettes au noiZetier

      Bonjour,

      cela se produit-il en utilisant en même temps le squelette Aveline ?

      Si oui, ce problème est normalement réglé dans la dernière version (0.6.5) d’Aveline.

      Voir http://zone.spip.org/trac/spip-zone....

      Cordialement

    • Le 20 janvier 2011 à 12:52, par korama En réponse à : Déclarer des noisettes au noiZetier

      Yes !!! Merci.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Critère {mots}

    6 août 2009 – 316 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • LinkCheck : vérificateur de liens

    13 février 2015 – 64 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Import ICS 2 (agenda distant)

    2 août – 39 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • GIS 4

    11 août 2012 – 1286 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

Ça spipe par là