PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#26 22/07/2014 19:21:13

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 128
Site Web

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

Je ne pense pas que ce bout de code rentre dans la prochaine release. Ce n'est pas à pluxml de s'adapter a la spécificité d'un plugin mais au plugin de répondre éventuellement à certaines exigences.

J'ai si tu le désires un code qui permet de récupérer la première image des derniers articles et de l'afficher. Simple et efficace.

A+

jéjé

Dernière modification par je-evrard (22/07/2014 19:32:07)


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Simplebox - Visual Wizard
- Projet SPX : Vitrine - Blog
facebook

Hors ligne

#27 22/07/2014 19:55:45

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

Merci pour l'offre mais j'ai déjà exécuté l'extraction à partir de la chaîne de caractères du "#art_content" des articles.  Au moins, les manipulations génériques des variables PHP me sont très familières, ce sont vraiment les hooks et les plxMotormachins qui m'ont fait suer cette fois-ci.  J'accepte avec plaisir leur simplicité d'opération, mon code est maintenant allégé d'une centaine de lignes qui ne faisaient qu'afficher mon découragement devant l'inconnu.

On verra bien ce qui fera partie ou non d'une éventuelle prochaine mouture de Pluxml, au pire j'ajouterai les même lignes si rien n'a été touché.  À mon avis, le concept de vignette, exactement comme intégré par ce plugin, devrait faire partie intégrante du Pluxml de toutes façons.  Avec quelques douzaines de blogs à mon actif, roulant sous 5 ou 6 CMS différents, tous sans exception intègrent un champ d'image "dédiée qui peut servir ailleurs dans un carrousel sur la une, un sidebar qui affiche une petite image à côté du titre d'article, etc.

Ma méthode est d'automatiser le tout, le client n'a plus qu'à taper son article avec un titre, un chapo et une vignette et tout s'affiche tout seul.  Pour une première fois sans base de données, je me sens plus léger...

Continuez votre bon travail.


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#28 23/07/2014 23:03:01

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 525
Site Web

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

J'ai plus simple et sans modifier une ligne de core. Tu places une image dans le chapo par exemple avant de taper un texte quelconque et tu places cette fonction dans ton fichier header.php de ton thème. Le but est que l'image doit être précédée d'une balise <p> :

/**
 * Fonction permettant d'encadrer la première image d'un paragraphe par un bloc div afin de la mettre en avant et d'appliquer des règles
 * css particulières (un float par exemple)
 * @param $content string le contenu du paragraphe
 *
 * @author Cyril MAGUIRE
 */
function vignettage($content) {
    $plxMotor = plxMotor::getInstance();
    switch ($plxMotor->mode) {
        case 'home':
        case 'tags':
        case 'categorie':
        	$count = 0;
            $return = preg_replace('!<p>(<img(.*)?src="(.*)\.(jpg|jpeg|png|gif)" alt="(.*(?:^data-spxtynimce="true")?)" (width="([0-9]*)" height="([0-9]*)")?(.*)?\/>)!i', '<div class="vignette"><img src="$3.$4" alt="" /></div><div class="wrap-art"><p>', $content,-1,$count);
            if ($count>0) {
            	$return = str_replace('</article>', '</div><!--Fin wrap-art --></article>',$return);
            }
            break;
        case 'article':
        case 'preview':
        	$count = 0;
            $return = preg_replace('!<p>(<img(.*)?(src="(.*)\.(jpg|jpeg|png|gif)" alt="(.*)") (width="([0-9]*)" height="([0-9]*)")?(.*)?\/>)!i', '<div class="vignette"><img $3 /></div><div class="wrap-art"><p>', $content,-1,$count);
            if ($count>0) {
            	$return = str_replace('</article>', '</div><!--Fin wrap-art --></article>',$return);
            }
            break;
        
        default:
            # code...
            break;
    }
    if (isset($return)) {
    	return $return;
    } else {
    	return $content;
    }
    
}

Il faudra peut-être l'adapter un peu en fonction de ton thème mais l'idée est là.

Enjoy.


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#29 25/07/2014 15:36:27

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

Je laisserai les collègues décider de leur façon préférée pour régler le problème quand ils le rencontreront mais je trouve la solution de mes modestes 3 lignes pas mal plus simple.  Surtout que ça respecte les standards sur la façon d'utiliser une variable de champ dans la chaîne de caractères de la fonction.

Mon désir de ne pas toucher au code "core" ne va pas jusqu'à l'intégrisme, je préfère l'éviter mais quand c'est si simple et si inoffensif pour les autres fonctions, mon choix est vite fait.  Par contre, si je mettais en danger la bonne marche de Pluxml, j'opterais sans doute pour une solution à même les gabarits de pages, juste au cas.


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#30 17/08/2014 01:26:40

Iron
Membre
Inscription : 03/01/2014
Messages : 17

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

Bonjour Pierre et merci pour ta méthode.

Par contre tu as précisé :

Je n'ai pas précisé le pointage du répertoire d'image puisqu'il peut être changé à votre guise mais avouez que nous y sommes, tout de même.

Tu peux me dire ce que je dois saisir exactement et où, en prenant en compte le répertoire par défaut (data/images) ?

Hors ligne

#31 17/08/2014 03:29:16

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

C'est le répertoire que j'utilise aussi alors tout respecte à la lettre les répertoires d'origine.  Mon exemple réduisait le champ de vignette à sa plus simple expression pour raccourcir la ligne mais le chemin par défaut serait plutôt   <img src="data/images/#art_vignette"> .  Dans mes applications, je l'utilise avec un peu plus de complexité (souvent avec l'utilitaire externe TimThumb) ce qui rend la ligne encore plus chargée mais je voulais ici montrer la simplicité de la démarche et éviter de faire intervenir trop de sujets qui font l'objet d'un autre article. 
(puisqu'on y est:  http://forum.pluxml.org/viewtopic.php?pid=39858#p39858  )

Alors, une chose à la fois.  Pour le cas présent, on installe tout bien à sa place, Pluxml de base et le plugin Vignette.  On fait les petites retouches suggérées et c'est immédiatement fonctionnel.  Le gestionnaire de médias dépose toutes les images dans "data/images" comme à l'habitude et c'est l'endroit où le plugin Vignette les y trouve comme prévu.  Il ne reste plus qu'à décider de la mise en page de ce que deviendra la suite d'articles avec lastArtList et de bâtir la string en insérant allègrement <img src="data/images/#art_vignette"> et tous les paramètres imaginables pour voir défiler la parade.

Je fais une exception et vous donne le fruit de mon travail pour cette première expérience avec Pluxml, la cliente n'y verra pas d'inconvénient.  Vous trouverez le tout en pleine action au http://nadinecaron.com 

Si vous vous demandez où a été utilisée ma modeste contribution, la réponse est : presque partout.  Du carrousel de la une à toutes les pages de catégories, incluant celle de blogue (qui est en fait une forme élaborée de page de catégorie) jusqu'à la petite grille du pied-de-page, toutes les listes successives d'articles qui comportent une image de vignette (pratiquement toutes) utilisent lastArtList avec un formattage approprié.

Bonne chance dans vos projets,

Pierre


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#32 18/08/2014 22:25:02

Iron
Membre
Inscription : 03/01/2014
Messages : 17

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

Merci Pierre pour ce retour car cela marche nikel !
Cela m'a servi notamment pour un affichage dans la sidebar pour la liste des derniers articles.

Je cherche maintenant à l'intégrer avec cela : http://pluxopolis.net/article35/recomma … s-articles

Pas gagné pour le moment car img source pointe sur #vignette au lieu de l'image

Hors ligne

#33 25/08/2014 01:23:58

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

Bien content de voir que mon petit fix peut faire du chemin, tant mieux s'il peut cette fois-ci répondre à ce nouveau besoin. 

J'ai vu passer quelques fois ce module de suggestion et me suis demandé s'il pouvait m'être utile.  Pour l'instant, ce n'est pas pas le cas mais bonne chance si quelqu'un veut retrousser ses manches et tant mieux si mon bout de code peut contribuer à éliminer des embûches.  Qui sait, peut-être trouverai-je le temps de m'y mettre moi-même et donner un coup de main.  Je verrai quand j'aurai quelques heures à passer su un nouveau défi.

Bonne chance tout de même, donnez des nouvelles.

Dernière modification par Pierre (19/11/2014 20:30:06)


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#34 25/08/2014 02:37:12

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

L'affichage aléatoire d'un échantillon d'articles tirés de la catégorie courante me semble une logique assez simple.  Il faut prendre un peu de recul et voir le cas étape par étape.

  1. obtenir la catégorie courante

  2. extraire la liste des numéros d'articles de cette catégorie.  Voir le petit bijou de mod offert au http://forum.pluxml.org/viewtopic.php?id=4586  où l'on explique comment dupliquer la fonction $plxShow sous forme de "$plxGet" pour extraire une liste sans l'afficher 

  3. bâtir une matrice (array) avec cette simple liste de numéros

  4. utiliser une fonction aléatoire de son choix, le simple simple est avec php rand() pour soutirer aléatoirement quelques éléments de la matrice

  5. faire une boucle pour afficher un par un ces éléments

Je suis tombé sur l'article mentionné de "$plxGet" par hasard.  Les suggestions faites pour modifier $plxShow sont très claires et le tout est terminé en quelques minutes.  On peut alors produire une liste d'éléments de notre choix sans avoir à les afficher (pas exactement à ce moment).  Parfois, comme le cas présent, l'objectif "intermédiaire" est de produire une liste de numéros d'articles et traiter cette liste avant de procéder à l'affichage.

Je n'ai pas d'exemple sous la main d'une utilisation de $plxGet mais je copie systématiquement la classe dans la librairie de toutes mes installations de PluXml.  Rien de bien ésotérique, j'ai suivi les suggestions de l'article ci-haut et tout a fonctionné sans broncher.

Dernière modification par Pierre (26/08/2014 16:18:36)


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#35 19/11/2014 15:33:09

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

Encore et toujours, je laisse les collègues faire un choix de la méthode qui leur plaira le plus, tant mieux s'il en existe plus d'une et que certaines respectent mieux les bonnes pratiques.  Par déformation professionnelle, je vais toujours privilégier une structure explicite où l'on voit les morceaux s'assembler, quitte à générer quelques lignes de plus.

Ne comprenant strictement rien aux hooks, mes solutions ne devraient pas souvent les inclure, et encore moins en ajouter.  Je n'ai rien contre s'ils sont déjà présents et qu'ils fonctionnent bien.  Si quelque chose bloque et que je dois trouver une solution, celle-ci va sans doute les contourner, n'en déplaise aux professionnels qui ont tout mon respect.  Si un jour le vieux singe apprend de nouvelles grimaces et que je vois la lumière, mes prochaines contributions en feront preuve.


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#36 19/11/2014 20:29:10

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

En effet, je suis loin d'être le créateur de cette petite merveille, c'est bien à Rockyhorror que revient tout le crédit.  Parce que c'était assez clair pour ma petite tête, j'ai pu identifier l'endroit où ajouter quelques lignes qui sont inoffensives si jamais sollicitées.

Et pour le principe de faire des modifications à faire aux fichiers core, si elles avaient été complexes (premièrement, je ne les auraient même pas trouvées!), je n'auraient pas guidé nos collègues sur un sentier glissant qui mettrait en danger la bonne marche de tout le reste.


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#37 21/01/2015 07:55:36

cpalo
Membre
Lieu : Franqueville Eure
Inscription : 13/07/2011
Messages : 855

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

Bonjour,

Je teste la version en cours de développement de pluxml. L'une des modifications c'est le regroupement des dossiers images et documents dans data/medias.
J'ai donc le message d'erreur:
Notice: Undefined index: images in D:\0_htdocs\myPluxml\plugins\vignette\medias.php on line 236

[== PHP ==]
<?php if($_SESSION['medias']==$plxAdmin->aConf['images']) : ?>

Par quoi dois-je remplacer images: medias ou medias/images. Et sans doute à d'autres endroits?

Cordialement

Hors ligne

#38 21/01/2015 10:37:19

rockyhorror
Membre
Inscription : 10/11/2011
Messages : 237
Site Web

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

Bonjour,

Je n'ai pas encore eu le temps de me pencher sur ce sujet. Je vais essayé de regarder ça rapidement.

Hors ligne

#39 22/01/2015 00:20:44

rockyhorror
Membre
Inscription : 10/11/2011
Messages : 237
Site Web

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

Bonjour,

Pour les pressés, il faut remplacer dans les 2 fichiers du plugin: medias.php et vignette.php, toute les occurences de

[== PHP ==]
aConf['images']

Par

[== PHP ==]
aConf['medias']

A priori ça marche.

Hors ligne

#40 31/01/2015 20:48:09

cpalo
Membre
Lieu : Franqueville Eure
Inscription : 13/07/2011
Messages : 855

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

Bonsoir,

Lorsque je suis dans le panneau d'administration --> plugins
Lorsque je vais dans configuration du plugin
en-dessous de configuration du plugin, j'ai un espace vide. Normal? ou bien il n'y a pas de configuration particulière à faire?

Hors ligne

#41 01/02/2015 12:27:05

rockyhorror
Membre
Inscription : 10/11/2011
Messages : 237
Site Web

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

Bonjour,

Tu dois normalement avoir une option qui permet de désactiver l'intégration automatique des vignettes.

As tu des messages d'erreurs dans le logs ?

Hors ligne

#42 01/02/2015 16:14:43

cpalo
Membre
Lieu : Franqueville Eure
Inscription : 13/07/2011
Messages : 855

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

oui j'ai bien cette option pour desactiver l'integration automatique.
Mais je n'ai que cela

Hors ligne

#43 01/02/2015 20:54:10

rockyhorror
Membre
Inscription : 10/11/2011
Messages : 237
Site Web

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

Alors tout va bien, c'est tout ce qu'il y a.
Après c'est de la mise en page, faudra que je la corrige.

Hors ligne

#44 09/02/2015 16:56:53

rockyhorror
Membre
Inscription : 10/11/2011
Messages : 237
Site Web

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

Bonjour, bonjour,

Nouvelle version:
- Correction de la gestion du CSS
- Pour ceux qui l'on rêvé, ajout d'un hook vignetteArtList, qui reproduit la fonction lastArtList en ajoutant le support de la vignette.

Lisez l'aide !!

Par ici

Hors ligne

#45 10/02/2015 07:38:12

JulienCognito
Membre
Inscription : 04/05/2009
Messages : 46

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

Super, merci.
Impatient de tester ça!

Hors ligne

#46 16/02/2015 02:30:54

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 133
Site Web

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

rockyhorror a écrit :

Bonjour, bonjour,
Nouvelle version:
- Correction de la gestion du CSS
- Pour ceux qui l'on rêvé, ajout d'un hook vignetteArtList, qui reproduit la fonction lastArtList en ajoutant le support de la vignette.
Lisez l'aide !!
Par ici

Merci, cette modification est très bonne. J'avais bidouiller la même chose dans le plxshow pour mes besoins ( en utilisation intensive sur http://www.peppercarrot.com/ et http://www.davidrevoy.com/ ) , et je suis donc super satisfait de découvrir ta mise à jour avec intégration dans un plugin, c'est plus propre que mon bidouillage car ça touche pas le core. Ca va me faciliter la prochaine mise-à-jour.  smile


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#47 29/05/2015 11:42:16

cfdev
Membre
Lieu : Provence
Inscription : 22/07/2011
Messages : 273
Site Web

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

Plus j'utilise ce plugin et plus je me dis qu'il est indispensable à PluXml!
A l'heure ou le nombre d’informations à traiter est colossale, rien ne vaut une bonne illustration.

Par défaut cette fonctionnalité est présente dans wordpress pour ne citer que lui. Si un plugin devrait être intégrer à pluXml, je voterai pour celui la! Qu'en pensez vous ?


Vous voulez créer votre plugin pour pluXml? -> spxdatas est fait pour vous !
mcercle - Logiciel de gestion devis/factures/stock !

Hors ligne

#48 29/05/2015 12:00:22

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 133
Site Web

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

cfdev a écrit :

Plus j'utilise ce plugin et plus je me dis qu'il est indispensable à PluXml!
A l'heure ou le nombre d’informations à traiter est colossale, rien ne vaut une bonne illustration.
Par défaut cette fonctionnalité est présente dans wordpress pour ne citer que lui. Si un plugin devrait être intégrer à pluXml, je voterai pour celui la! Qu'en pensez vous ?

+1 avec toi Cfdev
Ici, j'aime tellement cette fonctionnalité que je l'ai déplacé dans l'en-tête de l'admin pour l'edition d'article.
copie d'ecran de mon admin


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#49 29/05/2015 14:26:50

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 099

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

Je dirais même plus que cette option amène Pluxml au niveau nécessaire pour son acceptation comme un vrai CMS, j'aime bien la comparaison avec Wordpress, ce compétiteur tant prisé mais d'une taille et d'une complexité totalement superflue pour les sites informatifs et transactionnels simples, les plus communs sur internet.

À mon arrivée dans le monde tout nouveau de Pluxml, j'ai rapidement ajouté le plugin Vignette, je pouvais alors poursuivre mon apprentissage des subtilités de cet environnement minimaliste qui gagne à être connu.  Je travaille depuis longtemps avec des base de données mais c'est un plaisir de créer des sites qui n'ont rien à envier aux "grands" mais qui stockent le tout en XML, lien d'image inclus.

Si le plugin Vignette n'avait pas été clairement disponible et facile d'ajout, j'aurais eu les options très simples de:

1 - trouver le moyen de l'inventer (je n'ai pas grand succès dans le domaine)
2 - abandonner carrément Pluxml en attendant que quelqu'un se tape le travail

Longue vie à Vignette, bravo à son créateur et ses bidouilleurs.

Pierre, éternellement reconnaissant


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

#50 05/08/2015 18:30:43

P3ter
Pluxml Staff
Lieu : Ile De France
Inscription : 17/10/2011
Messages : 270
Site Web

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

Salut !

rockyhorror, est-ce que tu as prévu une nouvelle version de ton plugin compatible avec PluXml 5.4 ?


PluXml sur Twitter : @pluxml
PluXml sur Google+ : +pluXml
--
Mon Twitter : @p3terfr
Mon blog : p3ter.fr

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés