Recuperer l'image du chapo
dans Entraide et S.A.T
Bonsoir,`j'aimerais récupérer les images que je met dans les chapo des articles afin de les mettre dans ma sidebar qui affichent les derniers articles.
merci
merci
0
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
<?php // Réinitialisation de la boucle : $plxShow = new plxShow($plxMotor); $plxGlob_arts = plxGlob::getInstance(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles']); $plxShow->plxMotor->motif = '/^[0-9]{4}\.(home|[0-9]*|,)*\.[0-9]{3}\.[0-9]{12}\.[a-z0-9-]+\.xml$/'; $plxShow->plxMotor->getArticles('all'); ?> <?php while($plxShow->plxMotor->plxRecord_arts->loop() and $plxShow->plxMotor->plxRecord_arts->i < 5): # On boucle sur les articles ?> <?php ob_start(); $plxShow->artContent($chapo=true); $content = ob_get_clean(); $masque = '#<img.+src="(.+?)"#i'; preg_match($masque, $content, $resultats); $extension = pathinfo($resultats[1], PATHINFO_EXTENSION); ?> <?php if($extension['extension'] == ('jpg'||'jpeg'||'png'||'gif')) : ?> <a href="<?php $plxShow->artUrl($type='relatif'); ?>" rel="bookmark" title="Lien vers <?php $plxShow->artTitle(''); ?>"> <img src="<?php $plxShow->template(); ?>/thumb.php?src=<?php echo $resultats[1]; ?>&w=25&h=25&zc=1&q=100" alt="<?php $plxShow->artTitle(''); ?>" width="25px" height="25px" class="img_border" /></a> <?php else : ?> <a href="<?php $plxShow->artUrl($type='relatif'); ?>" rel="bookmark" title="Lien vers <?php $plxShow->artTitle(''); ?>"> <img src="<?php $plxShow->template(); ?>/thumb.php?src=<?php $plxShow->template(); ?>/images/defaut_timthumb.jpg&w=25&h=25&zc=1&q=100" alt="<?php $plxShow->artTitle(''); ?>" width="25px" height="25px" class="img_border" /></a> <?php endif; ?>Il te faut le script php TimThumb 2.0 : http://code.google.com/p/timthumb/
l'idée est intéressante, mais je trouve ca un peu lourd pour à la fin n'afficher que l'image du chapo.
je ais tout de même essayer comme tu le dis, mais comment on intègre tinthumb?
merci
L'intégration (exécution & paramètres) se fait avec l'url de ton image.
Il te faut un répertoire cache (chmod 777) à la racine ton thème.
Ici par exemple, la taille est fixée dans l'url à 25x25px (w & h), le zoom est actif (z=1) et la qualité est au maximum (q=100).
<img src="<?php $plxShow->template(); ?>/thumb.php?src=<?php echo $resultats[1]; ?>&w=25&h=25&zc=1&q=100" alt="<?php $plxShow->artTitle(''); ?>" width="25px" height="25px" />Pour d'info sur son usage, tu peux aller voir ici : http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/N'hésites si tu as d'autres question.
intéressante la demande :P
Pouvons-nous imaginer une alliance entre le plugin Ornament et la fonction lastArtList() ?
dans /core/lib/class.plx.show.php, rajouter la fonction lastArtListOrnament() ci-dessous:
/** * Méthode qui affiche la liste des $max image ornament des derniers articles. * * @param format format du texte pour chaque article (variable: #art_url, #art_title, #art_ornament) * @param max nombre d'articles maximum * @return stdout * @scope global * @author Florent MONTHEL, Stephane F * @adaptation DanielSan pour l'alliance entre le plugin ornament et la fonction lastArtList(); **/ public function lastArtListOrnament($format='<li><a href="#art_url" title="#art_title">#art_ornament</a></li>',$max=5) { # Génération de notre motif if(empty($cat_id)) $motif = '/^[0-9]{4}.[home|0-9,]*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/'; else $motif = '/^[0-9]{4}.[home|0-9,]*'.str_pad($cat_id,3,'0',STR_PAD_LEFT).'[0-9,]*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/'; # Nouvel objet plxGlob et récupération des fichiers $plxGlob_arts = clone $this->plxMotor->plxGlob_arts; if($aFiles = $plxGlob_arts->query($motif,'art','rsort',0,$max,'before')) { foreach($aFiles as $v) { # On parcourt tous les fichiers $art = $this->plxMotor->parseArticle(PLX_ROOT.$this->plxMotor->aConf['racine_articles'].$v); $num = intval($art['numero']); $ornament = htmlspecialchars_decode(plxUtils::strCheck($art['ornament'])); // adapter la lign ci-dessus selon la configuration du plugin ornament # On modifie nos motifs $row = str_replace('#art_id',$num,$format); $row = str_replace('#art_url',$this->plxMotor->urlRewrite('?article'.$num.'/'.$art['url']),$row); $row = str_replace('#art_ornament',$ornament,$row); $row = str_replace('#art_title',plxUtils::strCheck($art['title']),$row); # On genère notre ligne if(!empty($ornament)){ echo $row; } } } }adapter la ligne de formatage $ornament selon la config' de ornament ( je crois que je l'ai un peu "bidouillé" ... :P )puis appeler dans le template cette fonction de cette manière:
<ul> <?php $plxShow->lastArtListOrnament('<li><a href="#art_url" title="#art_title">#art_ornament</a></li>'); ?> </ul>ça marche de mon côté, et chez vous ?cordialement,
_____
D.San
ps: vu qu'on touche au coeur, cette fonction sera effacée lors de la prochaine mise à jour,
en faire une copie dans un coin ...
ca marche de ton coté...c'est à dire?
tu pourrais nous montrer ce que ca donne en image?
car chez moi ca casse tout le site..page blanche! en local..
j'ai du me gourer qq part.
merci
c'est visible ici: ( lien supprimé, j'utilise maintenant le plugin ChampArt )
Je pense que c'est normal que ça ne marche pas du premier coup,
vu comment j'adapte Plume à mes envies
Je ne sais pas comment faire refaire des fonctions de plxShow dans un plugin pour l'instant,
alors je modifie un peu partout ( j'ai peur de la prochaine mise à jour
Bon sinon pour y arriver:
j'ai fait les seules modifs du Plugin ornament ( http://forum.pluxml.org/viewtopic.php?pid=20118#p20118 )
et les trucs expliquées ci-dessus.
( fait une tite sauvegarde avant hein ? )
Good luck
_____
D.San
cette version n'est là que pour illustrer ce qu'on me demande ... :P
Alors j'y vais au minimum.
Le vrai site sera bientôt en ligne, avec pleins de trucs sympatoches dedans
J'ai bientôt validé le teaser vidéo pour le lancement :cool:
Me manque plus qu'à me jeter à l'eau !
merci pour ce script.
Je l'ai essayé et j'obtiens une erreur "Parse error: syntax error, unexpected T_PUBLIC in /homez.502/joliestr/www/core/lib/class.plx.show.php"
Quelqu'un a une idée d'où ca vient ?
Merci.
ça date un peu ce topic vis à vis de la vitesse d'évolution de PluXml ...
Si le sujet était "comment lier une image à un article", alors tu peux voir ce que te propose le lapin bleu avec son plugin ChampArt
Cordialement,
_____
D.San
Ce que je voudrais c'est afficher, dans une page statique, la liste des n derniers articles avec l'image associé (via champArt maintenant).
Est-ce que tu souhaite que je crée une nouvelle discussion ? Que j'écrive une réponse dans le sujet consacré à champArt ?
Merci.