PluXml.org

Blog ou CMS à l'Xml

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

#1 01/10/2012 23:16:41

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

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

Bonjour à tous,

Voici un petit plugin, qui permet d'ajouter simplement, une image d'illustration à vos articles.

Un champs "vignette" s'ajoute dans la sidebar d'édition de vos articles. Vous pouvez selectionner un image qui s'affichera en en-tête de votre article.

L'intégration peut etre automatique, ou manuelle (option).

N'hésitez pas à me faire part de vos suggestions, remarques, améliorations.

Téléchargement ici

Dernière modification par rockyhorror (01/02/2015 21:06:29)

Hors ligne

#2 01/10/2012 23:24:19

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

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

Bonne idée. Il me semble que danielsan en a fait un équivalent (champArt de mémoire).
Il serait bien de mettre un lien vers les medias pour pouvoir choisir l'image. Mais, je sais, c'est plus facile à écrire qu'à coder...


Mangez un castor, vous sauverez un arbre !

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

Hors ligne

#3 01/10/2012 23:31:35

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

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

Jerry Wham a écrit :

Bonne idée. Il me semble que danielsan en a fait un équivalent (champArt de mémoire).
Il serait bien de mettre un lien vers les medias pour pouvoir choisir l'image. Mais, je sais, c'est plus facile à écrire qu'à coder...

C'est prévu smile, faut que j'adapte le popup des médias.

Hors ligne

#4 02/10/2012 00:27:05

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 274

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

effectivement, champArt fait ça ...


Que l'inspiration soit avec vous, à jamais !

Hors ligne

#5 03/10/2012 22:05:18

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

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

Hop,


Nouvelle version, avec l'ajout du popup de sélection des média quand on clique dans le champs.

Je suis ouvert à toute suggestion.


disponible ici

Hors ligne

#6 23/12/2013 21:55:25

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

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

Salut;

J'utilise beaucoup ce plugin (souvent au coté de artGalerie, d'ailleurs) mais je suis obligé de le customiser à la hache:
Modifier \$srcCode =... dans le fichier vignette.php pour convenir à mon design. Je me disais donc que l'intégration automatique que tu propose pourrait être une option plutôt que le principal. Un truc du genre <?php eval($plxShow->callHook('vignette')); ?> à placer directement dans le template ne serait il pas plus "personnalisable"?.
Ou mieux! Pouvoir écrire :

[== HTML ==]
<div class="vignette">
<img src="<?php $plxShow->template(); ?>/script/timthumb.php?src=<?php eval($plxShow->callHook('vignette')); ?>&h=200&w=200" alt="<?php $plxShow->artTitle(); ?>" />
</div>

Ca permettrait d'ailleurs d'autres manips, parce que là, par exemple, j’essaie d'utiliser la vignette comme galerie de portfolio, et je bloque puisque l'appel à la vignette dépend de l'affichage du chapo et/ou du contenu. Mon rien en php me défend de toucher au code suivant if(!empty(\$art['chapo'])){... même si je me doute que c'est là qu'il faut gratter wink
Bon, sinon je me tournerai vers le plugin champArt, mais l'intégration du gestionnaire de média à Vignette est quand même sacrément pratique!

Merci

J/

Hors ligne

#7 28/12/2013 11:44:42

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

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

Hello,

Je vais regarder comment customiser le code d'affichage de la vignette.

Hors ligne

#8 28/12/2013 15:24:34

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

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

Merci RockyHorror;

Je pense que ça amènera un vrai plus à ton plugin. Son intégration à l'admin est déjà parfaite; une possibilité de customisation sur les thème devrait en faire un "must-have" wink

Pour ma part, j'ai triché pour une home & catégorie en vignette+titre sans contenu en cachant les <p> en css ainsi

[== CSS ==]
article > section p {display:none;}

.
Mais c'est pas très propre  ops

Hors ligne

#9 29/12/2013 00:26:07

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

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

Bonsoir à tous,

Voici un nouvelle version.
Au menu:
- Le style des vignettes est déporté dans le fichier vignette.css (plus facile à changer, sans toucher au code du plugin)
- La prévisualisation des articles fonctionne avec la vignette
- Ajout d'un paramètre de configuration du plugin, permettant de désactiver l'intégration automatique dans les articles
- Ajout d'un Hook 'showVignette' pouvant etre appelé dans vos template, pour un affichage où vous le souhaitez.
- Le Hook 'showVignette' peut prendre un paramètre "true" permettant de n'afficher que le chemin de la vignette, pour une intégration dans des script, ou une customisation complète de l'affichage. (lisez l'aide)
- diverses corrections de code

Dispo ici

@JulienCognito: Dans ton cas, tu pourras désactiver l'intégration automatique dans la configuration du plugin et utiliser le code suivant:

[== HTML ==]
<div class="vignette">
<img src="<?php $plxShow->template(); ?>/script/timthumb.php?src=<?php eval($plxShow->callHook('showVignette', 'true')); ?>&h=200&w=200" alt="<?php $plxShow->artTitle(); ?>" />
</div>

Hors ligne

#10 29/12/2013 11:39:43

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

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

MMMh, RockyHorror!

Tout ce dont je rêvais ici plus haut!!!
Avec le travail que tu viens de faire, il ne me reste plus qu'à parfaire un thème "portfolio" pour la 5.3 basé sur ton plugin & à le partager ici!

Merci encore!

Julien

Hors ligne

#11 02/01/2014 13:28:04

fab56
Membre
Lieu : Lorient
Inscription : 22/10/2013
Messages : 30
Site Web

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

Bonjour,

Le plugin est bien sympa et s'approche de ce que je cherche à faire : afficher des images illustrant les articles listés en page d'accueil.

[== HTML ==]
<div class="entry">
 <section>
  <div class="vignette"><img src="<?php eval($plxShow->callHook('showVignette',true));?>" alt="<?php $plxShow->artTitle(); ?>" /></div>
 <?php $plxShow->artChapo(); ?>
 </section>
</div>

Seul problème, la méthode showVignette() s'occupant d'écrire directement le contenu du champ, je n'ai pas moyen de tester si il est vide ou non avant l'affichage.
Je me retrouve donc avec le contenu de l'attribut "alt" pour tout les articles sans vignette.

Une astuce ?


@++
Fab

Changeons de logiciel !
Le Fab'Lab

Hors ligne

#12 02/01/2014 17:13:52

fab56
Membre
Lieu : Lorient
Inscription : 22/10/2013
Messages : 30
Site Web

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

Bon en fait j'ai trouvé la solution tout seul  smile
Il suffisait de lire le code du module.

[== PHP ==]
$vignette=$plxMotor->plxRecord_arts->f('vignette');
if(!empty($vignette))

@++
Fab

Changeons de logiciel !
Le Fab'Lab

Hors ligne

#13 05/01/2014 02:09:53

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

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

Comme promis, tentative de tuto concernant l'utilisation de "vignette" comme centre d'un portfolio ici

Merci encore!

Julien

Hors ligne

#14 07/01/2014 20:54:58

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

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

Bonjour,

Merci pour ces retours.
@JulienCognito: beau travail.

@fab26: si je comprend bien ton code, tu veux personnaliser le "alt" des vignettes. Je peux proposer d'ajouter un deuxième argument à la méthode showVignette, qui serait un "alt" personnalisé. Tu n'aurais plus besoin de chercher à savoir s'il y à une vignette, ce serait géré par le plugin. ça donnerais quelque chose comme ça:

[== PHP ==]
eval($plxShow->callHook('showVignette',array(false, "mon alt custom")));

et ça sortirais ça (uniquement si l'article à une vignette):

[== HTML ==]
<div id="vignette"><img src="/path/to/monimage.png" alt="mon alt custom" /></div>

Dite moi.

Hors ligne

#15 08/01/2014 11:04:30

fab56
Membre
Lieu : Lorient
Inscription : 22/10/2013
Messages : 30
Site Web

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

Non mon problème n'était pas de personnaliser le "alt" mais simplement de savoir si la vignette existe ou non.

Mais si ta méthode retourne le code html complet si (et seulement si) il y a une vignette, cela peut être une solution.

Je pense qu'il faudrait alors passer un nouveau paramètre à ta méthode permettant de personnaliser le code html généré.
Par exemple dans mon cas, je n'utilise pas un "id" par un "class" pour l'attribut de mon div car il y a potentiellement plusieurs vignettes affichées dans mes pages (listes d'articles).


@++
Fab

Changeons de logiciel !
Le Fab'Lab

Hors ligne

#16 08/01/2014 20:57:30

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

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

En l'état, si tu appel la méthode showVignette sans paramètre, ça te retourne le code html complet uniquement s'il y à une vignette.

[== PHP ==]
eval($plxShow->callHook('showVignette'));

te retourne ça (uniquement s'il y à une vignette):

[== HTML ==]
<div id="vignette"><img src="/path/to/monimage.png" alt="vignette" /></div>

Par contre c'est avec un "id", et non un "class", je vais changer ça par défaut pour utiliser un "class" c'est plus logique.

Je vais voir pour ajouter un paramètre permettant de personnaliser le code.

Hors ligne

#17 19/01/2014 22:02:49

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

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

Bonjour,

Nouvelle version:

  • Ajout d'un deuxième paramètre de format pour le hook 'showVignette'

  • Utilisation d'une class "vignette" au lieu d'un Id

  • Correction pour pluxml 5.3, le CSS du plugin s'edite directement dans l'administration des plugins

Lisez l'aide.

Comme d'hab dispo ici

Hors ligne

#18 23/01/2014 07:12:48

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

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

Merci Rockyhorror pour se super plugin. Je l'utilise partout à présent. C'est simple d'utilisation, jolie et efficace.  cool


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

Hors ligne

#19 01/02/2014 17:29:22

NaBiSs
Membre
Inscription : 14/10/2010
Messages : 55

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

Un gros merci pour ton plugin, très pratique et personnalisable  wink .

Hors ligne

#20 29/03/2014 16:33:47

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

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

Salut,

Il semble qu'il y ait un 'tit bug concernant la personnalisation du css dans la partie admin (vignette 0.5 & pluxml 5.3.1):

Les modifs effectuées à la classe vignette via l'admin sont bien prises en compte dans le fichier /plugins/site.css appelé par <?php $plxShow->pluginsCss() ?>
Mais le plugin rajoute juste avant </head> l'appel à /plugins/vignette/site.css hors dans celui-ci, les modifs ne sont pas prises en compte.
En supprimant cette dernière fonction dans vignette.php (lignes 89 à 97), le problème est réglé. Un restant d'une ancienne version, j'imagine.

Merci encore pour ce super plugin

Julien

Hors ligne

#21 31/03/2014 20:46:17

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

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

Merci pour le retour, je vais regarder ça.

Hors ligne

#22 23/06/2014 02:19:35

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

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

Bonjour,

Je cherche un moyen d'adresser le champ XML "vignette" comme les autres dans une liste d'articles qui n,est pas reliée à Home ou même une catégorie particulière, la mienne est installée dans le Sidebar.  Ça fonctionne à moitié sur la page Home mais la liste change sans arrêt sur les autres pages. 

Je rêve de pouvoir faire

$plxShow->lastArtList('<li ><a href="#art_url" title="#art_title"><img src="#vignette"></a></li>');

Vous voyez le genre.  J'ai essayé avec plxMotor ça me donne les problèmes expliqués plus haut.  C'est ma dernière étape avant que tout fonctionne, quelle frustration!

Merci à l'avance

Pierre


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

Hors ligne

#23 23/06/2014 15:46:25

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

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

Pour ceux qui voudront m'accompagner dans l'aventure, je vous donne le paragraphe complet désiré:

[== Indéfini ==]
<ul>
	<?php
	$i=1;
	while(($plxShow->plxMotor->plxRecord_arts->loop()) AND ($i<=3)):?>
		<li>
			<a href="<?php $plxShow->artUrl('link'); ?>">
				<img src="<?php eval($plxShow->callHook('showVignette','true'));  ?>" height="50px" alt="<?php $plxShow->artTitle();?>" />
			</a>
			<?php $plxShow->artTitle('link');?>
		</li>
		<?php 
		$i=$i+1;
	endwhile; ?>
</ul>

Je vous rappelle que la page d'accueil produit le résultat désiré mais pas les pages de catégorie ou d'article.  Je n'abandonne pas de mon côté, merci pour la thérapie de groupe...

Dernière modification par Pierre (23/06/2014 16:26:40)


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

Hors ligne

#24 28/06/2014 23:45:23

Sissone
Membre
Inscription : 31/03/2009
Messages : 52
Site Web

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

@pierre, j'essaye exactement de faire la même chose, et je rêve aussi d'un #art_vignette à insérer dans lastartlist big_smile.
L'idée étant de faire un accueil avec des présentations différentes selon les catégories, et donc des vignettes de taille et d'alignement différent.

Hors ligne

#25 22/07/2014 15:44:35

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

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

Après voir bidouillé pendant des semaines pour contourner les restrictions de mode et tout le tralala, au bord de l'épuisement et sur le point de balancer Pluxml avec l'eau du bain et de revenir en arrière, j'y suis arrivé.  Des semaines de cauchemars remplis de hooks et de plugins pour enfin me résigner et me rabattre sur le seul petit bout de l'univers Pluxml où j'y comprenais quoi que ce soit: les fonctions php propres à Pluxml...  Après avoir été mis en garde (avec raison) par Stéphane de ne pas trop modifier les fichiers "core" et de voir tout ça balayé par une prochaine mise à jour, j'ai étudié les paramètres d'un champ assez similaires à ma bien-aimée vignette, l'opération n'a pas pris 10 minutes, ma victime se nomme "chapô".

Rappelons-nous que le rêve caressé était de pouvoir taper quelque chose comme:

[== PHP ==]
$plxShow->lastArtList('<li><a href="#art_url" title="#art_title"><img src="#art_vignette"></a></li>');

pour voir s'afficher une liste d'images pointant vers leur article respectif.

Alors, qui m'aime me suive... (roulement de tambours) à vos risques et périls..., il vous faudra retrousser vos manches et ajouter à un seul fichier trois petites lignes (QUOI! c'est tout!?)  Eh... désolé, si ça vous choque, imaginez moi.

Sans plus tarder, vous visitez le répertoire "core/lib", vous ouvrez le fichier "class.plx.show.php" descendez à la fonction "public function lastArtList" (autour de la ligne 844), descendez quelques lignes et apercevez

[== PHP ==]
$chapo = plxUtils::truncate($art['chapo'],$strlength,$ending,true,true);
$row = str_replace('#art_chapo('.$strlength.')','#art_chapo', $row);
$row = str_replace('#art_chapo',$chapo,$row);

Vous copiez copieusement les trois lignes en question, les recollez juste en-dessous, et modifiez ce nouveau trio par

[== PHP ==]
$vignette = plxUtils::truncate($art['vignette'],$strlength,$ending,true,true);
$row = str_replace('#art_vignette('.$strlength.')','#art_vignette', $row);
$row = str_replace('#art_vignette',$vignette,$row);

Et voilà le travail.  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.

Alors, mission accomplie, bravo à Rockyhorror pour le plugin Vignette, désolé Stéphane les traces de pieds dans ton terrain de sable.  Espérons que mes trois lignes diaboliques apparaîtront dans la prochaine mise à jour!

On parlera de mes pirouettes comme du bon vieux temps où tout était plus difficile...


Pierre
un disciple (désormais) convaincu

Dernière modification par Pierre (19/11/2014 20:21:01)


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

Hors ligne

Pied de page des forums

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