2013-04-02 2 views
1

J'ai regardé partout mais je n'ai pas trouvé la réponse à la question: Comment puis-je utiliser ma propre vignette par fil dans une page multiple? Si j'ai oublié la réponse, cela serait dû aux mauvaises clés de recherche pour lesquelles je m'excuse d'avance.simplepie: utiliser ma propre vignette par fil dans une page multifeed

J'ai le code suivant à ce jour (ce qui est peu):

<?php 
include_once('autoloader.php'); 
include_once('idn/idna_convert.class.php'); 

date_default_timezone_set('Europe/Amsterdam'); 
setlocale(LC_TIME, 'nld_nld'); 

$feed = new SimplePie(); 
$urls = (array(
    'http://myfeedurla.com' => 'descriptiona', 
    'http://myfeedurlb.com' => 'descriptionb', 
    'http://myfeedurlc.com' => 'descriptionc' 
    )); 
$feed->set_feed_url(array_keys($urls)); // this should get parse only the URLS 
$feed->set_cache_location('cache/'); 
$feed->init(); 

$feed->handle_content_type(); 
?> 

// As from here I'm using the standard simplepie code to show multiple feeds and order them by day 

     <?php 

     // Set up some variables we'll use. 
     $stored_date = ''; 
     $list_open = false; 

     // Go through all of the items in the feed 
     foreach ($feed->get_items() as $item) 
     { 
     // What is the date of the current feed item? 
     $item_date = $item->get_date('M jS'); 

     // Is the item's date the same as what is already stored? 
     // - Yes? Don't display it again because we've already displayed it for this date. 
     // - No? So we have something different. We should display that. 
     if ($stored_date != $item_date) 
     { 
      // If there was already a list open from a previous iteration of the loop, close it 
      if ($list_open) 
      { 
       echo '</ol>' . "\r\n"; 
      } 

      // Since they're different, let's replace the old stored date with the new one 
      $stored_date = $item_date; 

      // Display it on the page, and start a new list 
      echo '<h1>' . $item->get_local_date('%A %d %B %Y') . '</h1><hr>' . "\r\n"; 
      echo '<ol>' . "\r\n"; 

      // Let the next loop know that a list is already open, so that it will know to close it. 
      $list_open = true; 
     } 

     // Display the feed item however you want... 
     echo '<li>' . $item->get_local_date('%H:%M') . ' | <h4><a href="' . $item->get_permalink() . '">' . $item->get_title() . '</a></h4></li>' . "\r\n"; 
     } 
     ?> 

Quelque part dans le code HTML Je veux ajouter le « img scr = « ». » Etc. Et là, il ne doit se référer qu'à une image par le nom 'descriptiona'.png' descriptionb'.png etc, par feed. Est-ce possible? Et si oui, comment?

Si je devrais être plus clair, SVP n'hésitez pas à demander. Merci d'avance pour l'aide! Cordialement,

Répondre

0

Ok, jusqu'à présent, j'ai une solution :) J'utilise le titre des flux respectifs dans le nom de fichier img. J'ai ajouté le code suivant:

<img src="images/' . $item->get_feed()->get_title() . '.png" width="12" height="12" /> 

Maintenant, je n'espère que les aliments ne seront pas utiliser/ou quelque chose dans leurs titres ... Si quelqu'un a une meilleure façon de le faire, par exemple. en étant en mesure d'ajouter un titre personnel par flux, cela serait le bienvenu.

Questions connexes