PluXml.org

Blog ou CMS à l'Xml

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

#1 18/08/2017 18:19:44

PPmarcel
Membre
Inscription : 21/06/2010
Messages : 249
Site Web

[Résolu] Thumbnail dans les flux RSS/ATOM

Bonjour,

J'ai récemment déplacé toutes les bannières que j'ai dans mes châpo vers le thumbnail.
Mais je n'avais pas pensé que ce thumbnail ne ressortait pas du tout dans les flux RSS.

Comment pourrais-je le faire apparaître au début de chaque article ?

Dernière modification par PPmarcel (23/08/2017 14:21:17)

Hors ligne

#2 21/08/2017 11:18:35

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

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

[== Indéfini ==]
$plxShow->artThumbnail();

Regarde comment est fait le thème par défaut.


Mangez un castor, vous sauverez un arbre !

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

Hors ligne

#3 22/08/2017 19:58:39

PPmarcel
Membre
Inscription : 21/06/2010
Messages : 249
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Côté thème, c'est OK il n'y pas de problème.

Mais c'est dans les flux RSS que je ne le vois pas ressortir. Je pense qu'il faut modifier feed.php, voire core/lib/class.plx.feed.php pour que le artThumbnail apparaissent en début des articles dans les flux.

En revanche je ne sais pas où trifouiller précisément pour faire apparaître l'image.

Dernière modification par PPmarcel (22/08/2017 23:05:26)

Hors ligne

#4 23/08/2017 00:08:21

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Dans le fichier  core/lib/class.plx.feed.php, il faut rajouter dans la boucle while qui est dans la fonction getRssArticles() un item de type enclosure.
Voir la spécification ici
Il faut préciser le mime-type et la longueur du média

Cela prend un peu de temps à le coder mais ce n'est pas très difficile.

A rajouter à la prochaine version de PluXml.

Hors ligne

#5 23/08/2017 14:21:06

PPmarcel
Membre
Inscription : 21/06/2010
Messages : 249
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Merci Bazooka, en connaissant la fonction j'ai pu avancer !

En partant de la ligne 237 de core/lib/class.plx.feed.php, dans la fonction getRssArticles() on a ces instructions qui copient le chapo ou le chapo + contenu dans une variable :

                # Traitement initial
                if($this->aConf['feed_chapo']) {
                    $content = $this->plxRecord_arts->f('chapo');
                    if(trim($content)=='') $content = $this->plxRecord_arts->f('content');
                } else {
                    $content = $this->plxRecord_arts->f('chapo').$this->plxRecord_arts->f('content');
                }

Il suffi alors d'ajouter un petit check du thumbnail et de le placer en début de variable $content si il existe (attention au ".=" ensuite pour concaténer le contenu dans la variable $content) :

                # Recherche du thumbnail
                $art_thumbnail = $this->plxRecord_arts->f('thumbnail');
                if(empty($art_thumbnail)) {
                    $content = ""; 
                } else {
                    $content = "<img src=/".$this->plxRecord_arts->f('thumbnail').">";
                }   
                # Traitement initial
                if($this->aConf['feed_chapo']) {
                    $content .= $this->plxRecord_arts->f('chapo');
                    if(trim($content)=='') $content = $this->plxRecord_arts->f('content');
                } else {
                    $content .= $this->plxRecord_arts->f('chapo').$this->plxRecord_arts->f('content');
                }   

Maintenant j'ai bien le thumbnail affiché au début de chaque article.

Par contre je n'ai pas précisé de dimensions à l'image, cela semble bien fonctionner sans ça et validator.w3.org ne m'a pas râlé dessus à ce sujet.

Dernière modification par PPmarcel (23/08/2017 14:24:34)

Hors ligne

#6 23/08/2017 16:32:12

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

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Ça mériterait que la version officielle de PluXml le fasse nativement et que soient ajoutés des hooks officiels en début des boucles while (plutôt qu'à la fin ou en plus de ceux présents à la fin de ces fonctions getRssXXXX) pour pouvoir intervenir sur le contenu...

Comme noms, on peut imaginer plxFeedRssBeginArticlesXml, plxFeedRssBeginCommentsXml et plxFeedRssBeginAdminCommentsXml, sans toucher aux anciens noms des hooks existants.


Mangez un castor, vous sauverez un arbre !

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

Hors ligne

#7 23/08/2017 17:52:58

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 181
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Bonjour

oui pour ajouter la prise en compte des miniatures dans les flux
non pour mettre les hooks en debut de boucle while. ils sont à la fin pour pouvoir par exemple surcharger/modifier à partir des plugins le contenu des variables alimentées dans la boucle avant l'appel du hook


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#8 23/08/2017 18:15:35

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

Sur Github le fichier  core/lib/class.plx.feed.php a été déjà été modifié por prendre en compte les thumbnails.
C'est visible à l'adresse suivante à partir de la ligne n°235 :
https://github.com/pluxml/PluXml/blob/m … x.feed.php

@PPmarcel,
Il peut y avoir des cas où le thumbnail  est sur un autre site. Donc il faut vérifier si on a pas une adresse absolue.

Hélas, le test pour vérifier cela est erroné sur github.
Si vous avez un fichier pour le thumbnail nommé  mon-petit-http-qui-va-te-planter.png on va considérer que c'est une adresse absolue
Il faut faire le test comme ceci pour voir si on utilise un protocole:

[== PHP ==]
if(!preg_match('@^[a-z]+://@', $src)) {
    $src = $this->racine.$src;	
} 

Si vous ne pouvez pas attendre la nouvelle version de PluXml après Paques, utilisez git

[== bash ==]
git clone --depth 1 https://github.com/pluxml/PluXml.git

Mais mon idée était de mettre le thumbnail en dehors de la description de l'article.

Dernière modification par bazooka07 (23/08/2017 20:52:20)

Hors ligne

#9 23/08/2017 20:18:01

PPmarcel
Membre
Inscription : 21/06/2010
Messages : 249
Site Web

Re : [Résolu] Thumbnail dans les flux RSS/ATOM

L'implémentation de Stéphane est carrément plus élégante. ^^

Donc j'ai repris les portions de codes de github. Dans mon cas les images sont systématiquement issues de pluxml donc je n'ai pas de soucis.

Hors ligne

Pied de page des forums

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