[plugin] vignette: ajout d'une image d'illustration à vos articles

124»

Réponses

  • Merci Bazooka07, je vais regarder tout ça pour la prochaine version.

    Deevad, je vais essayer de comprendre un peu mieux ce que tu veux, parce que pour l'instant c'est un peu flou.
  • DeevadDeevad Member
    décembre 2015 modifié
    Merci pour vos réponses. Je vais essayer d'être plus clair dans l'exposition de mes intentions, et non dans comment j' essaie de résoudre mon problème.

    Ce que je fais déjà avec vignetteArtList, et qui est tip-top (merci!) :
    2015-12-01_pluxml_vignette_net.jpg
    En live : page de garde de http://www.davidrevoy.com ; page de blog principale avec un vignetteArtList pour afficher les "featured".
    page statique 'contribute' http://www.peppercarrot.com/en/static4/contribute , avec deux vignetteArtList pour les "derivatives" et les "fan-arts".

    Ce que j'aimerai faire :
    2015-12-01_pluxml_vignette_001_net.jpg
    C'est à dire pouvoir citer directement et à la commande un article ou une série par leur ID ( c'est en ça que j'ai appelé ceci 'absolu' ).
    Qu'est-ce que ça résoudrai ?
    Cas numéro 1: Je maintient des 'tutoriaux' de dessin depuis presque 10 ans ( http://www.davidrevoy.com/categorie5/tutorials ). Mes derniers en ligne ne sont pas ceux que je conseillerai pour commencer. Tout est un peu mélanger : ceux qui sont sur les tablettes, la couleur, le dessin...etc... Une page statique ou je puisse intégrer des ID articles dans la mise en page me permettrait de remettre un ordre plus didactique. En effet pour l'instant vignetteArtList ne gèrent que tout par date 'sort' croissant, 'rsort' décroissant, ou 'alpha' pour alphabétique. J'aimerais pouvoir intégrer des articles 'à la carte' avec leur titre, vignette, date, nombre de commentaire, etc...
    Enfin, cas numéro 2, pour pouvoir faire un portfolio plus arrangé. Par exemple mettre en grand et en premier les pièces les plus emblématiques. Comme Pierre le décrit ci-bien; l' alternative actuelle est d'écrire le HTML à la main. Relié la vignette, lié l'adresse de l'article, etc. Je l'ai fait par le passé : c'est très difficile à créer, maintenir ( et donc à mettre à jour et faire vivre ).
  • Désolé mais il y a plus de concepts fonctionnels dans l'explication que de réels besoins clairement expliqués. Il faut pas s'en sentir trop mal, c'est mon travail au quotidien de faire cette distinction, surtout de forcer quelqu'un (qui me paye) ne pas commencer à parler de solution avant d'avoir décrit le problème et ensuite en avoir fait ressortir les besoins.

    J'en prendrai un que je pense avoir compris, sans même en être certain: le besoin de sélectionner et de présenter au visiteur une liste d'articles destinés aux débutants.

    Ces articles ont déjà une catégorie qui doit rester, mais ton concept de liste d'articles à la carte est réalisable en leur donnant une deuxième catégorie. Ça peut sembler simpliste mais en créant une catégorie "novice", on peut créer dans l'admin cette fameuse liste à la carte et la changer au besoin. J'arrête ici, au cas où je n'aurais pas compris!
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @Deevad,

    Ce que je retiens de ton dernier propos et que tu n'avais pas énoncé avant, c'est que tu as besoin de saisir quelque part dans Pluxml une liste d'identifiants d'articles et ordonnés selon des critères pédagogiques dont tu es seul juge.

    Le rapport entre les pages statiques et les articles est très ténu pour ne pas dire nul.

    Je pense que partir sur des catégories au lieu des pages statiques sera plus pertinent.
    Il faut alors trouver un moyen d'attacher une liste d'articles à une catégorie et donc d'avoir un champ pour saisir cette fameuse liste dans l'édition d'une catégorie. Soit on récupère un champ existant comme la balise meta keywords peu utilisée, soit on developpe un plugin comme champArt ou chamPlus pour ajouter un champ supplémentaire aux catégories. Cela ne doit pas être très compliqué.

    Sur le site, côté public, Pluxml fait du préchauffage pour préparer la liste d'articles à afficher. A ce stade, il n'affiche rien, il ne fait que collecter les articles selon des critères définies. Dans plxMotor::prechauffage, il y a au tout début un hook plxMotorPreChauffageBegin. Il suffirait de l'intercepter dans un plugin, pour récolter les articles à sa place et les mettre dans le bon ordre.
    Après cela il suffit de reprendre un template comme categorie.php dans le thème choisi et qui sait boucler sur la liste d'articles qu'on lui donne :
    [== PHP ==]
    while($plxShow->plxMotor->plxRecord_arts->loop()) {
    }
    
    On pourra éventuellement récupérer le contenu du champ description de la catégorie pour personnaliser l'affichage dans la page

    Après la question qui reste en suspens est : comment organiser la mise en page ? Empile -t-on les boites d'articles à la queue leu leu ?

    A++
  • Merci pour les retours, ça me donne quelques idées pour me mener vers une solution. Ce serait principalement basé sur le listing d'article en ordre alphabétique ( option 'alpha' ) en numérotant d'un préfixe mes titres comme pour un plan d'exposé/thèse ; ou d'utiliser un champ libre (via plugin) pour ça.
    Je rapporterai si j'arrive à trouver la solution pour allier listing dynamique des articles et mise-en-page manuelle. Ici aussi mond idée serait un champs libre avec la taille/geométrie de la vignette à afficher.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Effectivement, mettre un préfixe à 2 chiffres à l'URL de l'article est une bonne idée (compléter avec un zéro devant pour les 9 premiers articles).
    Et ensuite créer une catégorie par tutorial.
    Pour la taille des vignettes tu as la fonction getimagesize de Php. Inutile de la saisir, juste mettre les images à la bonne dimension sur le serveur.
  • PentuxPentux Member
    Bonjour à tous,

    je suis nouveau dans la galaxie de pluXml je suis en train de le tester en local, j'aimerai installer des thèmes. En autres des thèmes qui necessite vignette, mais une fois que j'ai mis le plugin vignette voila ce que m'affiche toutes les pages :

    Fatal error: Uncaught Error: Function name must be a string in /home/jolan/developpement/www/pluxml/core/lib/class.plx.plugins.php:87 Stack trace: #0 /home/jolan/developpement/www/pluxml/core/admin/top.php(19): plxPlugins->callHook('AdminTopEndHead') #1 /home/jolan/developpement/www/pluxml/core/admin/parametres_plugins.php(126): include('/home/jolan/dev...') #2 {main} thrown in /home/jolan/developpement/www/pluxml/core/lib/class.plx.plugins.php on line 87

    si quelqu'un a une solution .. Merci d'avance
  • PierrePierre Member
    mars 2016 modifié
    En tant que président auto-proclamé du fan club du plugin Vignette, il me fera plaisir d'offrir mon aide dans le monde merveilleux de l'imagerie Pluxéméliste.

    Premièrement, un mot sur l'avenir rapproché qui attend PluXml, la version Beta sur le point de sortir offre une méthode bien plus simple de gérer les images, en fait cette méthode met au chômage mon bien-aimé plugin Vignette. La fonction artThumbnail intègre donc le concept d'image "accrochée" à un article en mettant des champs supplémentaires dans l'écran d'édition dudit article.

    Ma première suggestion sera donc d'installer la version Beta, voir les détails dans http://forum.pluxml.org/viewtopic.php?id=5391

    Si jamais ça posait problème et qu'on insistait pour utiliser PluXml version 5.4 et Vignette, je pourrai assister encore une fois. Pour le message d'erreur mentionné, je suggère tout bonnement de tout retirer et d'installer à nouveau le thème et le plugin. Si ça se répète, installer à partir d'un PluXml tout neuf, quelle belle occasion de passer à la 5.5 et de contourner les problèmes d'intégration...

    Et pour avoir un thème qui roulera avec cette nouvelle méthode, j'offre mes services encore une fois, pouvant convertir presque n'importe quel gabarit disponible sur le Net, par exemple dans le catalogue impressionnant des sites du genre http://designscrazed.org/

    Il faut pas se gêner de choisir parmi les exemples remplis d'images grandes et petites, c'est ma spécialité.
  • fab56fab56 Member
    Bonjour,

    Je viens de profiter d'ouvrir un nouveau blog pour tester la version 5.4 de PluXml et je rencontre quelques bizarreries notamment concernant ce plugin.

    La version d'origine proposée par rockyhorror et que j'utilise sur d'autres blogs n'arrive plus à parcourir les sous-répertoires pour aller chercher l'image où elle est.

    Je viens de tester la version modifiée proposée par bazooka07.
    Là c'est ok j'arrive à me promener dans les sous-répertoire médias mais lorsque je clique sur l'image qui m'intéresse, elle s'ouvre dans un nouvel onglet alors que l'idée est d'en récupérer l'adresse relative dans le champ prévu à cet effet.

    Bon je me débrouille à récupérant l'adresse à la mano :-) mais je signale tout de même le problème.
  • PierrePierre Member
    mars 2016 modifié
    Il faut bien séparer le rôle du plugin de celui de la feuille de style. Vignette gère le chemin vers l'image pour permettre de l'appeler en rapport avec l'article auquel l'image est ancrée.

    Pour le cas des chemins de répertoires, il faut voir comment les balises IMG décrivent le début de chemin s'il y a lieu, genre /data/medias/... ensuite il faut vérifier le chemin inscrit directement dans le champ Vignette dans l'écran d'admin et finalement il faut s'assurer de bien voir quelle structure on a donné au répertoire des médias. Certains ont bâti des sous-répertoires genre "/medias/images" pour séparer les vidéos et les autres documents, etc. Tout ça se vérifie en regardant le code source d'une page qui pose problème. En trouvant un des endroits où une image n'affiche pas, on voit rapidement qu'il manque un niveau de l'arborescence ou qu'il y en a un de trop. On voit quelque chose comme:

    .../monsite/data/maphoto.jpg
    ou
    .../monsite/data/medias/medias/maphoto.jpg

    quand on cherchait, par exemple

    .../monsite/data/medias/maphoto.jpg

    Pour l'ouverture dans un onglet séparé, ça sent le formatage HTML, peut-être y a-t-il un paramètre target="_blank" quelque part dans une balise IMG (ou possiblement une commande équivalente dans un Javascript).

    Je réitère que tout ce travail sera à refaire pour le passage imminent à la version 5.5 de PluXml. Cette version maintenant très solide est disponible en Beta et sauve bien des tracas, en particulier ceux dont nous parlons ici.
  • DeevadDeevad Member
    Après 5.5, ce plugin est probablement devenu un peu obsolète avec l'apparition du champs 'thumbnail' des articles. Aussi, aucun doute que c'est le succès de ce plugin qui a inspiré la version intégrée dans PluXml. Félicitation donc à Rockyhorror.

    Sur mon PluXml, j'ai commencé la migration des mes centaines d'articles utilisant le champs 'vignette' vers le champs 'thumbnail'. Le chemin de fichier était un peu différent.
    Voici les lignes de commandes utilisés dans un terminal type Bash/Linux pour automatiser le remplacement du champs et la correction du chemin de fichier:
    [== Bash ==]
    cd data/articles
    find . -name '*.xml' -exec sed -i 's/vignette>/thumbnail>/' '{}' \; 
    find . -name '*.xml' -exec sed -i 's|<thumbnail><!\[CDATA\[|<thumbnail><!\[CDATA\[data\/images\/|g' '{}' \; 
    find . -name '*.xml' -exec sed -i 's|data\/images\/data\/images\/|data\/images\/|g' '{}' \; 
    
    En esperant que ceci puisse être utile à quelqu'un.
  • Deevad a écrit:
    En esperant que ceci puisse être utile à quelqu'un.

    Je confirme !
    Merci beaucoup du code qui va me faire gagner du temps avec quelques dizaines d'articles à faire évoluer.
  • Bonjour,

    Je me decide à reprendre le bricolage de mon site http://www.pofableau.com pour passer en version 5.5.

    Si vous regardez la page d'accueil, figurent une collection d'images qui par de basiques liens html mènent aux articles. :rolleyes: je suis un "pico" codeur ....

    Y aurait il moyen de détourner le plugin évoqué dans ce post pour un usage equivalent?

    A savoir faire apparaître l'ensemble des images ( miniatures) des articles et leurs titre associés avec les liens correspondant dans une div ou autre frame?

    Grand merci.

    Christian
  • HarukaHaruka PluXml Project Manager
    Deevad a écrit:
    Sur mon PluXml, j'ai commencé la migration des mes centaines d'articles utilisant le champs 'vignette' vers le champs 'thumbnail'. Le chemin de fichier était un peu différent.

    Hello, la même de mon coté, j'ai écrit un petit script qui permet de migrer du plugin vignette au "thumbnail" la solution native de PluXml depuis la version 5.5. Le script n'est pas des plus élégant mais il a fait le job à la perfection sur mon blog.

    Disponible sur mon github : https://github.com/P3ter/PluXml-Contrib/blob/master/vignetteToThumbnail.sh
    ## Migration du plugin Vignette vers la solution native de PluXml 5.5
    ##
    ## Compatibillité : PluXml 5.5 et supérieur
    ## Auteur : P3ter (http://p3ter.fr)
    ## Licence : GPL
    ## Version : 1.1
    ## 
    ## Aide : 
    ## le fichier doit être exécuter à la racine du dossier /data/articles/
    ## attribution des droits : chmod u+x vignetteToThumbnail.sh
    ## exécution du script : ./vignetteToThumbnail.sh
    ##
    ## ATTENTION : faites une sauvegarde de tous vos articles (data/articles/) avant de lancer le script
    ##
    #!/bin/bash
    
    # début de la chaine à remplacer
    chaineVignette="<vignette><!\[CDATA\["
    chaineThumbnail="<thumbnail><!\[CDATA\[data\/medias\/"
    
    # fin de la chaine à remplacer
    chaineVignette1="<\/vignette>"
    chaineThumbnail1="<\/thumbnail>"
    
    # Thumbnail vide pour les articles ayant été créés après PluXml 5.5
    chaineThumbnailVide="<thumbnail><!\[CDATA\[\]\]><\/thumbnail>"
    
    for file in *.xml
    do
        echo "Traitement de $file ..."
        # remplacement du début de la chaine
        sed -i -e "s/$chaineVignette/$chaineThumbnail/g" "$file"
        #remplacement de la fin de la chaine
        sed -i -e "s/$chaineVignette1/$chaineThumbnail1/g" "$file"
        # suppression du Thumbnail vide si il existe
        sed -i -e "/$chaineThumbnailVide/d" "$file"
    done 
    
Connectez-vous ou Inscrivez-vous pour répondre.