Aveline v2

Aveline est une collection de noisettes hautement paramétrables, compatibles avec les thèmes Z et à inclure dans vos pages avec le noiZetier.

Compatibilité

Cette version 2 du plugin Aveline s’utilise, sous SPIP 3, avec la version 2 du noizetier, la version 2 de Zpip-vide et la version 1 de Zpip-dist.

Cette version, comme la précédente, est compatible avec les thèmes Z pour Zpip v1.

Cette version n’est pas compatible avec Zpip 2 (toujours en développement) ni avec Z-core.

Cette version 2 d’Aveline nécessite dorénavant le plugin Calendrier Mini 2.0.

Nouveautés

Cette version 2 conserve les mêmes fonctionnalités que la version 1. Il s’agit toujours d’une collection de noisettes Z.

Les icônes des noisettes ont été modifiées au profit des icônes FatCowRetro assurant ainsi une cohérence graphique avec le reste de l’interface privée de SPIP 3.

Le mini-calendrier des évènements a été réécrit et utilise dorénavant le plugin Calendrier Mini. Un mini-calendrier des articles et un mini-calendrier des brèves ont été ajoutés.

Des noisettes additionnelles sont disponibles pour prendre en compte le fait que les mots-clés et les documents peuvent être activés sur presque tous les objets SPIP.

Dernière modification de cette page le 13 février 2019

Discussion

24 discussions

  • 9

    bonjour,
    je veux afficher des photos incluses dans des albums (du plugins « album ») d’un article. Aucune noisette existant pour cette fonction, j’ai modifié la noisette aveline-document comme suit (ci-dessous avec les limitations d’affichage des < et autres crochets )

    B_liste_documents>
    BOUCLE_liste_documents(ALBUMS) {id_objet ?}>
    [(#MODELEalbum, id_album)]
    /BOUCLE_liste_documents>
    /B_liste_documents>
    //B_liste_documents>

    qui m’affiche bien les phtos des divers albums de l’article

    ne sachant pas comment écrire une nouvelle noisette, j’ai voulu utiliser la noisette « CodeSpipLibre » et y ai insérer le meme code.
    Le résultat est cependant pas conforme. En effet au lieu d’afficher les albums de l’article, j’obtiens tous les albums du site.
    J’ai remarqué le meme probleme avec nivoslider qui au lieu de m’afficher le portefolio de l’article, m’affiche le portefolio de l’article Numero 1 si j’utilise « CodeSpipLibre ».

    Est-ce unbug ou bien mon code est-il erroné ?
    Merci de votre réponse

    • Bonjour.

      En premier lieu, il y a le raccourci SPIP <cadre></cadre> spécialement prévu pour afficher du code SPIP.

      Deuxièmement, il faut bien transmettre l’id_article à votre boucle.

      <BOUCLE_albums(ALBUMS){id_article}{vu=non}>
          [(#MODELE{album_liste, id_album})]
      </BOUCLE_albums>
    • toujours le meme probleme
      si je mets id_article ?
      j’obtiens l’ensemble des albums du site
      si j’utilise id_article
      je n’obtiens aucun album

      <B_albums>
         <BOUCLE_albums(ALBUMS) {id_article}{vu=non}>
             [(#MODELE{album, id_album})]
         </BOUCLE_albums>
      </B_albums>

      merci pour le cadre :)

    • En essayant :

      <BOUCLE_albums(ALBUMS){id_article=#ENV{id_article}}{vu=non}>

      ou

      <BOUCLE_albums(ALBUMS){objet=article}{id_objet=#ENV{id_article}}{vu=non}>

       ?

    • toujours pareil, pas d’album, ni avec la 1re ou 2e proposition dans "CodeSpipLibre>
      tandis que fonctionnement correct dans les 2 cas pour noisette aveline-documents modifiée

      site http://mazier.ferraton.info/spip.php?article7

    • Possible de recevoir un login/mdp avec statut de webmaster par message privé ?

    • Oui bien reçu. Il semble que la noisette ne reçoive pas les variables d’environnement et n’a donc pas l’id_article dans son contexte.

      Je creuse la question

    • Ok bug trouvé dans le noizetier (en même temps cette noisette était en test).

      je commite le correctif dans la soirée (pas d’accès SVN actuellement)

    • Merci, tout fonctionne ici et me permet d’utiliser nivoslider dans la noisette « CodeSpipLibre »
      Je mettrais un autre site à jour dès que le svn sera commité pour tester.

      la noisette

      <B_albums>
      <BOUCLE_albums(ALBUMS){objet=article}{id_objet=#ENV{id_article}}{vu=non}>
      [ (#MODELE{album_nivoslider}{id_album}{width=440}{height=300}{directionNav=true}{manuel=oui} ) ]
      </BOUCLE_albums>
      </B_albums>

    Répondre à ce message

  • 1

    Si je peux me permettre une nouvelle idée ou question.

    Comment fait pour que les articles qui apparaissent dans la noisette sélection d’articles (très utiles pour faire un edito qui ne bouge pas), n’apparaissent pas ensuite dans la liste d’article (surtout si c’est le dernier... il apparait 2 fois de suite !).

    Ce sont deux noisettes différentes ...

    • hmmmm

      je suppose qu’il faudrait prévoir une noisette avec les articles qui ne sont pas sélectionnés ou bien ajouté un critère d’exclusion à la noisette liste d’articles.

    Répondre à ce message

  • 12
    Stéphane Santon

    Bonjour,

    Pour la noisette article-portfolio, y a-t-il une option pour avoir des vignettes carrées non pas coupées (retaillées), mais carrées qui intègrent l’image complète dans le carré ?

    Merci

    • Tu veux dire déformées avec modication du ratio de l’image ?

    • Stéphane Santon

      Non, pas avec l’image déformée, mais en ajoutant des marges en latéral ou dessus-dessous pour que la vignette finale soit carrée.
      Ainsi les vignettes carrées sur plusieurs lignes sont bien alignées...

    • Et tu as le code pour ça ?

    • Stéphane Santon

      Bonjour,

      Dans aveline-portfolio, dans le code des vignettes carrées, au lieu des 4 lignes

      [(#SET{ratio_x,#LARGEUR|div{#GET{hauteur_max_images}}})][(#SET{ratio_y,#HAUTEUR|div{#GET{hauteur_max_images}}})]
      
      [(#SET{ratio,#GET{ratio_x}|<={#GET{ratio_y}}|?{#GET{ratio_x},#GET{ratio_y}}})]
      [(#SET{taille_recadre,#LARGEUR|<={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center}|image_reduire_par{#GET{ratio}}

      il suffit d’avoir ces 2 lignes

      [(#SET{taille_recadre,#LARGEUR|>={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center,'transparent'}|image_reduire{#GET{hauteur_max_images},#GET{hauteur_max_images}}

      Donc on recadre sur la plus grande dimension au lieu de la plus petite,
      puis on réduit l’image à la même valeur dans les 2 dimensions.

      L’option supplémentaire pourrait être la couleur de remplissage des marges ajoutées.
      Ici j’ai mis ’transparent’, mais d’autres pourraient avoir envie de couleurs personnalisées.

    • Stéphane Santon

      D’ailleurs dans le code d’origine, je me demande pourquoi calculer ratio_x et ratio_y.

      Lorsque l’image a été recadrée, elle est carrée.
      Ensuite il suffirait de image_reduire avec hauteur_max_images.
      Donc tes 4 lignes ne pourraient-elles pas passer à 2 avec :

      [(#SET{taille_recadre,#LARGEUR|<={#HAUTEUR}|?{#LARGEUR,#HAUTEUR}})]
      [(#FICHIER|image_recadre{#GET{taille_recadre},#GET{taille_recadre},center}|image_reduire{#GET{hauteur_max_images},#GET{hauteur_max_images}}

       ?

    • Stéphane Santon

      Donc finalement la différence entre la vignette carrée coupée et la vignette carrée incluse, c’est le signe de comparaison sur taille_recadre : <= ou >=

    • En premier lieu, il ne faut pas remplacer l’option existante mais ajouter une nouvelle option (maintient de l’existant).

      Concernant les vignettes carrées, j’avais repris le code... (je ne sais plus où !!!). Je vois que utilisations des filtres pour créer des vignettes sur mesure offre une solution encore plus élégante pour le faire (je ne connaissais pas le filtre image_passe_partout).

      Concernant ce que tu veux faire, il ne serait pas plus simple de faire d’abord image_reduire (on met aux dimensions, par exemple pour une taille de 80 on va obtenir une image de 60x80) puis image_recadre (à 80 x 80). Voir http://forum.spip.net/fr_212446.html#forum221475

    • Stéphane Santon

      Bonjour,

      En premier lieu, il ne faut pas remplacer l’option existante mais ajouter une nouvelle option (maintient de l’existant).

      Oui bien sûr, c’est bien ce que je proposais : une option supplémentaire

      image_passe_partout est effectivement le filtre de vignettes carrées coupées.

      Pour mes vignettes carrées incluses, on peut effectivement réduire d’abord. Ça ne me semble pas plus simple dans le code (autant d’opérations), mais ça évite le risque de faire travailler le moteur graphique sur des trop grandes images.

    • Pour mes vignettes carrées incluses, on peut effectivement réduire d’abord. Ça ne me semble pas plus simple dans le code (autant d’opérations), mais ça évite le risque de faire travailler le moteur graphique sur des trop grandes images.

      Il me semble que tu peux te passer ainsi de taille_recadre. Il te suffit de faire :

      [(#FICHIER|image_reduire{#GET{hauteur_max_images}}|image_recadre{#GET{hauteur_max_images}})]

    • Stéphane Santon

      Super !
      Nickel !
      Merci.

    • Option disponible à partir d’Aveline 2.4.0.

      En bonus, des vignettes rondes. S’applique aussi aux listes d’articles sous forme de vignettes.

    • Stéphane Santon

      Waouhh ! On ne l’arrête plus ! A quand les vignettes en forme de cœur ?? ;-)

    Répondre à ce message

  • 5

    Deux suggestions qui me paraissent importantes :

    1. détecter et supporter la polyhierarchie qui est maintenant très utilisée.
      Peut-être y a t il une astuce que je ne connais pas pour voir aussi les articles et rubriques liés.
    2. créer une noizette générique permettant d’inclure un noisette de type balise.
      A moins qu’il y est un autre moyen simple.
      J’ai essayé avec la noizette « Bloc de texte libre » mais la balise que j’y mets n’est jamais interprété (c’est #FORMULAIRE_NEWSLETTER_SUBSCRIBE).
    • détecter et supporter la polyhierarchie qui est maintenant très utilisée.
      Peut-être y a t il une astuce que je ne connais pas pour voir aussi les articles et rubriques liés.

      Le support de polyhiérarchie n’est pas forcément simple. Il faudrait évaluer s’il s’agit plutôt de créer des noisettes spécifiques ou bien s’il faut modifier les noisettes existantes.

      Néanmoins, un tel support ne peut se faire sans une réflexion préalable indiquant quels sont les besoins et identifier les noisettes qui seraient impactées.

      Assez évident, il faudrait proposer des fils d’ariane polyhéirarchiques.

      Plus compliqué est d’identifier les options de branches (branche complète, branche principale, etc.) à mettre en place et à prendre en compte dans le critère aveline_branche.

      Y aurait-il d’autres éléments à prendre en compte ? Options à ajouter ?

      créer une noizette générique permettant d’inclure un noisette de type balise.
      A moins qu’il y est un autre moyen simple.
      J’ai essayé avec la noizette « Bloc de texte libre » mais la balise que j’y mets n’est jamais interprété (c’est #FORMULAIRE_NEWSLETTER_SUBSCRIBE).

      La noisette bloc de texte libre prend en entrée de la syntaxe rédactionnelle SPIP et non un squelette SPIP.

      Ceci étant posé, il avait été discuté à un moment la possibilité de passer à récupérer fond non pas le nom d’un fichier html mais directement une variable chaine avec le contenu du squelette. Je vais essayer de retrouver cette conversation. Une telle option permettrait en effet d’avoir une noisette où on saisi directement un squelette SPIP.

      En attendant, la solution consiste à créer ses propres noisettes (facile avec squelette editeur).

    • Le fil d’arianne je ne pense pas, c’est toujours le lien principal.
      A mon avis cela impacte plus les listes de type branche ou par exemple il faut faire à peu près la même chose mais en remplacant « calcul_branche_in » par « calcul_branche_polyhier_in ».

      Pour le deuxième point, c’est vraiment dommage car il y a beaucoup de « noisette » de plugin qui sont sous forme de balise.

    • La version 2.3.0 du noizetier intègre une noisette expérimentale Code Spip libre où l’on peut saisir directement un squelette SPIP.

      Attention : c’est à tester. Il peut y avoir des bugs.

    • La version 2.5.0 intègre un support des branches de polyhéarchie dans les listes d’objets.

      ATTENTION : c’est expérimental, il est préférable de tester que tout fonctionne comme désiré

    • Wow ! Quel réactivité. impressionant.

      Je viens de tester « Code spip libre » cela marche super bien (inscription à la newsletter sur http://unsa-orange.org).
      Cela permet à aveline de naturellement incorporer un gros paquet de plugins

      Pour la polyhierarchie, je testerais dès que la version sera visible (je crois qu’il faut un petit délai).

      Encore merci beaucoup. Un sacré boulot pour de super plugins !

    Répondre à ce message

  • 6
    Stéphane Santon

    Bonjour,

    Sur la noisette « Liste d’articles syndiqués », on a le choix exclusif entre « Nombre limité d’éléments » et « utiliser une pagination ».
    Ne pourrait-on pas avoir les 2 options ?

    • Limiter ou non à un certain nombre d’éléments ?
    • Utiliser ou non la pagination ?

    Car si l’on utilise la pagination seule, on peut avoir des dizaines de pages, et si l’on limite le nombre d’éléments, on réduit à une seule page.

    Quelquefois j’aimerais par exemple limiter à 21 éléments mais affichés par pages de 3 éléments (donc limiter le nombre de pages à 7)...

    Merci

    • Bonjour cela n’est pas possible aujourd’hui. Mettre en place une telle chose compliquerai de manière importante le code et la maintenance des boucles. En effet, la limitation du nombre d’éléments est reproduite ici en créant un pas de pagination correspondant à ce nombre d’éléments mais en masquant les liens de paginations.

      Par ailleurs, l’usage d’un nombre limité d’éléments avec une pagination reste un cas vraiment atypique. Pour quels motifs mettre en place une pagination imparfaite ? Cela n’a que peu de sens pour les visiteurs d’un site.

      Bien cordialement

    • Stéphane Santon

      OK je comprends pour l’implémentation du nombre limité d’éléments.

      Dans le cas d’articles syndiqués, cela ne me paraît pas si atypique..
      Lorsque l’on affiche divers flux rss, la quantité d’articles peut être très différente d’une source à l’autre.
      Donc lorsque dans une page je désire afficher l’actualité par source, et qu’il a 20 syndic_articles pour l’une, 200 syndic_articles pour l’autre à afficher par paquet de 5, ça fait 4 pages pour la première (OK) et 40 pages pour la seconde, et là, ça surcharge un peu l’affichage.
      Voilà
      Merci

    • Stéphane Santon

      Mais j’y repense, la limitation du nombre d’éléments (critère 0,n ) est-elle incompatible avec la pagination ??

    • La limitation est possible avec la pagination. Vous pouvez toujours écrire votre propre boucle et votre propre noisette.

      Pour Aveline, la complexité vient de la quantité de paramètres disponibles. Ce qui rend son code plus complexe et ce qui fait que des critères spécifiques ont été écrits. cf. http://zone.spip.org/trac/spip-zone/browser/_squelettes_/aveline/trunk/noisettes/liste_syndic_articles.html

      Vous parlez de la surcharge de l’affichage. Si pour vos deux listes vous êtes en pagination, le nombre de pages joue peu, à part pour la liste des liens de pagination. La seconde liste sera plus importante que la première. Sauf si vous changez le style de pagination en précédent / suivant ou bien en < 1/10 >.

      Autrement dit, en changeant le style de pagination, vous n’avez pas de surcharge de l’affichage, quel que soit le nombre de pages.

      Cordialement

    • Stéphane Santon

      Vous parlez de la surcharge de l’affichage. Si pour vos deux listes vous êtes en pagination, le nombre de pages joue peu, à part pour la liste des liens de pagination. La seconde liste sera plus importante que la première. Sauf si vous changez le style de pagination en précédent / suivant ou bien en < 1/10 >.

      Aaahhhh ben ouiiiii ! Je n’avais pas fait attention à ce modèle de pagination... c’est bien plus léger en effet ! Même encombrement quel que soit le nombre de pages !

      Est-ce une pagination standard de spip ? Je ne le trouve pas dans Le système de pagination de spip. Ou bien est-il créé dans Aveline ?

      En tout cas ça résout mon problème, merci. :-)

    • Il s’agit de Pagination_simple qui a été intégré dans Aveline et légèrement adapté.

    Répondre à ce message

  • 2
    Guillaume

    Bonjour
    J’ai spip et tout les plugins nécessaires à jour (noizetier, zpip-vide et zpip-dist)

    Mon problème est que la noisette « sous rubrique » me liste mes rubriques « racines » et pas les rubriques contenues dans ma rubrique en cours.

    Merci de votre aide.

    • Guillaume

      Je ne sais pas si c’est la bonne méthode mais je me suis un peu documenté sur les boucles et j’ai créé une variante du fichier « rubrique-sous_rubriques.html » dans le dossier noisette d’aveline. j’ai modifié le fichier en remplaçant le critère id_parent en id_parent=ID_RUBRIQUE.
      A priori, cela semble fonctionner et j’obtiens bien les sous rubriques de ma rubrique.

    • Merci pour le retour. C’est corrigé dans la version 2.3.5.

      Bien cordialement

    Répondre à ce message

  • 3
    raphael

    Bonjours, j’ai un gros souci avec le squelette zpip vide , je n’ai aucune noisette de disponible dans le noizetier v2 à part les noisette bloc de texte libres, formulaire de contact et bloc de texte libre malgré le fait que j’ai installé aveline v2, que faire ?

    merci à vous

    • Quelle version des plugins ? Sous SPIP 3 ?
      Tous les plugins sont bien actifs ?
      Le cache a-t-il été vidé ?

    • raphael

      Bonjour, merci de votre réponse,
      spip 3.08
      Aveline 2.3.4
      composition 3.3.2
      zpip vide 2.1.2
      zpip-dist v1
      yalm1.5.0
      noizetier 2.2.0

      cache vidé 3 ou 4 fois
      j’ai supprimé et réinstallé les plugings
      malheureusement sans effet

      merci à vous

    • Vous n’avez pas le plugin saisies ? SPIP-Bonux ?

      Le site est en ligne ou en local ?

    Répondre à ce message

  • 1
    anetschl

    Bonjour,
    merci beaucoup pour ce plugin !
    Est-ce qu’il y a une possibilité d’afficher avec l’interface « édition des noisettes » une liste de (sous-)rubriques d’une rubrique définie (autre que les rubriques du secteur) ?

    Merci d’avance pour votre aide !

    Répondre à ce message

  • 4
    Olivier Tétard

    Bonjour,

    Il y a une petite erreur dans avec le squelette « inclure/site-resume.html » dans lequel certaines parenthèses sont ajouté en trop dans les liens vers les sites.

    J’ai fait un petit correctif qui est disponible à l’adresse suivante : https://gist.github.com/otetard/5133036

    Olivier ;

    • Merci pour la détection du bug. Si tu as accès à SPIP-Zone, n’hésite pas à faire la modification toi-même. Sinon, je ferai cela ce soir.

      Cordialement

    • Olivier Tétard

      Salut,

      Merci pour la correction !

      Il me semble qu’une petite erreur s’est glissée dans le correctif #70606 : une espace a été supprimée entre la classe « spip_out » et la classe « on ».

      (Désolé, je n’ai pas accès à la zone...)

      Olivier ;

    • Oui j’ai supprimé cet espace inutile. En effet, il sera créé par le filtre |oui si nécessaire.

    • Olivier Tétard

      Au temps pour moi, je n’avais pas ce paramètre en tête :).

      Olivier ;

    Répondre à ce message

  • 1

    Bonjour,

    Savez vous si ce plugin est compatible avec Newsletters ?

    Merci

    • Il n’y a pas d’incompatibilité a priori.
      Il manque par contre, pour Mailsubscriber, des noisettes pour afficher les formulaires d’inscription / déscincription

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom