IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[RSS 2.0] Restriction du nombre d'items et ajout d'une image


Sujet :

XML/XSL et SOAP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut [RSS 2.0] Restriction du nombre d'items et ajout d'une image
    Bonjour ,
    Merci à pierre pour ce tuto vraiment très bien expliqué.
    Je l'ai complètement adapté à mon site en page d'accueil suivant le script(Lecture du fichier XML).
    Mais je voudrais aller plus loin et c'est là que ça bloque.
    D'abord je voudrais limiter le nombre d'item à afficher.
    Ensuite je voudrais illustrer l'item avec une image.
    Pour moi c'est quelque chose de difficile à réaliser mais peut-etre avez-vous une idée pour m'aider à adapter ce script php ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Bonjour,

    pour limiter le nombre d'item incluses dans le XML, il suffit de modifier la boucle insérant les items (remplacer le foreach par un for qui va bien), pour info, le II présente le moyen de le faire.

    pour l'image, par contre, il ne me semble pas que ce soit possible...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Le II c'est pour la création du flux, mais je parle du script III pour l'affichage du flux, que j'ai appliqué et qui fonctionne très bien. Mais je voudrais juste le modifier de façon à limiter le nbr d'item.
    C'est là que je suis incompétent :-( .
    Pour l'incorporation d'images dans les items dommage si ça n'est pas possible.

  4. #4
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Salut,
    Swoög a raison, il faut remplacer le foreach par un simple for, avec le nombre d'éléments que tu désires afficher.
    Pour afficher une image, tu peux tout-à-fait stocker l'adresse de ton image dans un champ du flux RSS, tu la récupères comme les autres données puis tu l'affiches dans le script d'affichage. La balise "enclosure" à l'intérieur de la balise item me parait appropriée pour stocker l'url de l'image. Voir exemple ici : http://en.wikipedia.org/wiki/RSS_Enclosures

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par ghostdogpr
    Pour afficher une image, tu peux tout-à-fait stocker l'adresse de ton image dans un champ du flux RSS, tu la récupères comme les autres données puis tu l'affiches dans le script d'affichage. La balise "enclosure" à l'intérieur de la balise item me parait appropriée pour stocker l'url de l'image. Voir exemple ici : http://en.wikipedia.org/wiki/RSS_Enclosures
    J'ai plutôt eu l'impression que enclosure servait pour envoyer une éventuellement pièce jointe (i.e. pas vraiment quelque chose qu'on puisse insérer dans l'item, mais qui soit juste "récupérable" à partir de l'item...)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    j'ai rajouté dans l'item la balise enclosure comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<enclosure url="http://www.adressedusite/inf/imagesinfos/photo.jpg"  type="jpg" />
    mais sur la page du script qui affiche les items il faut ajouter quelque chose aussi non ?
    pour ce qui du for au lieu du foreach ça ne va pas non plus
    c'est un peu complexe pour moi encore un peu d'aide svp ?
    merci d'avance

  7. #7
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Citation Envoyé par Swoög
    J'ai plutôt eu l'impression que enclosure servait pour envoyer une éventuellement pièce jointe (i.e. pas vraiment quelque chose qu'on puisse insérer dans l'item, mais qui soit juste "récupérable" à partir de l'item...)
    D'après le lien wikipedia, ce n'est pas trop ça :
    Unlike e-mail attachments, enclosures are merely hyperlinks to files, the actual data is not embedded into the feed.
    Il me parait bien adapté pour récupérer des URL d'objets en relation avec l'item.

    @nath70 : tu utilises le script avec SimpleXML ou sans ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    je ne l'utilise pas

  9. #9
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Pour recuperer les images il faudrait que tu utilises le script avec SimpleXML, l'autre script utilise une fonction (lit_rss) qui permet d'obtenir les éléments contenus entre 2 balises données (par exemple <title> et </title>), et non les attributs (<enclosure url="..."). Avec SimpleXML, c'est faisable très simplement.

    Pour le foreach, une solution toute bête (pas la plus optimale) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $i=0;
    foreach($rss as $tab) {
      if($i<5){
       ...  // ici le contenu initial du foreach
      }
      $i++;
    }

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    j'ai maintenant ajouté le scritpt simpleXML de ton tuto et l'affichage de l'image fonctionne bien maintenant !
    De ce fait là j'ai enlevé le 1er script (je sais pas si j'ai bien fais car ça faisait double items ?) et donc je ne sais pas où je dois placer le code que tu viens de donner concernant le du foreach.

  11. #11
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $i=0;
    foreach ($rss->channel->item as $item) { 
      if($i<5){
       ...  // ici le contenu initial du foreach : echo '<div ...
      }
      $i++;
    }

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Je pensais que ça marchait mais en ecrivant ce code il n'y a qu'un item qui s'affiche ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php 
    $rss = simplexml_load_file('news/news.xml'); 
    $i=0;
    foreach($rss as $tab) {
      if($i<5){foreach ($rss->channel->item as $item) 
     
      $i++;
    } 
      echo '<div class="news_box">
               <div class="news_box_title">'.$item->title.'</div>
               <div class="news_box_date">posté le '.date("d/m/Y",strtotime($item->pubDate)).'</div>
               '.$item->description.' <a href="'.$item->link.'">Lire tout l\'article</a>
            </div>';
    } 
    ?>

  13. #13
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Essaie plutot ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php 
    $rss = simplexml_load_file('news/news.xml'); 
    $i=0;
    foreach($rss as $tab) {
      if($i<5){
        foreach ($rss->channel->item as $item) 
          echo '<div class="news_box">
                  <div class="news_box_title">'.$item->title.'</div>
                  <div class="news_box_date">posté le '.date("d/m/Y",strtotime($item->pubDate)).'</div>
               '.$item->description.' <a href="'.$item->link.'">Lire tout l\'article</a>
                  </div>';
        $i++;
      } 
    } 
    ?>
    Sur ce, bonne nuit

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Un grand MERCI à toi pour ton aide et ta patience.
    Ca fonctionne sauf pour le nombre d'items qui restent au maximum et que je n'arrive pas à insérer l'enclosure dans le script
    bonne nuit
    @+

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Je suis chez ovh et il me semble que simpleXML ne soit pas activé ou php5 car j'ai un message d'erreur au chargement de la page alors qu'en local ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function: simplexml_load_file() in /home.2/w/e/b/bbbl/www/accueil.php on line 6
    Comment je peux voir cela ?


    merci d'avance

Discussions similaires

  1. [DOM] Nombre d'items d'un Flux RSS
    Par nounouuuuu201186 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 30/11/2011, 19h20
  2. Nombre et longueurs de lignes dans une image
    Par improcess dans le forum Images
    Réponses: 1
    Dernier message: 17/07/2011, 13h46
  3. [XL-2003] Conversion nombre en date et ajout dans une formule
    Par clem71 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2009, 10h26
  4. Réponses: 6
    Dernier message: 07/03/2007, 10h58
  5. Méthode optimale gestion nombre variable items?
    Par fredtheman dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 14/08/2004, 20h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo