Foros del Web » Programando para Internet » PHP »

Simple pie RSS

Estas en el tema de Simple pie RSS en el foro de PHP en Foros del Web. Hola, estoy haciendo unas pruebas con simple pie rss para mostrar las noticias de un grupo de enlaces feed Esta libreria es magnifica he logrado ...
  #1 (permalink)  
Antiguo 01/10/2012, 00:10
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años, 7 meses
Puntos: 1
Simple pie RSS

Hola, estoy haciendo unas pruebas con simple pie rss para mostrar las noticias de un grupo de enlaces feed

Esta libreria es magnifica he logrado listarlas.

El problema es que al listar un solo enlace feed si me deja mostrar el título del feed Pero cuando listo un grupo de enlaces no me muestra el título de feed

Lo que tengo que listar son los títulos de las noticias junto a eso el título del feed es decir la referencia al sitio web de esa noticia


Código PHP:
$array_list_feed = array();
        
$feed = new SimplePie();
        
$feed->set_cache_location(sfConfig::get('sf_cache_dir'));
        
$feed->set_feed_url($arr_list);//AQUI EL ARRAY CON LOS ENLACES FEED
        
$feed->init();
        
$feed->handle_content_type();
        
$feed->enable_order_by_date(true);
        
$feed->set_item_limit(5);
        
$i=0;
        
        foreach (
$feed->get_items() as $item){
            
$array_list_feed[$i]['titulo'] = $item->get_title();
            
$array_list_feed[$i]['link'] = $item->get_permalink();
            
$array_list_feed[$i]['fecha'] = $item->get_date('d/m/Y | g:i a');
            
$array_list_feed[$i]['descripcion'] = $item->get_description();
            
           
//EL PROBLEMA ES CON ESTA LÍNEA DE CÓDIGO
           
$array_list_feed[$i]['referencia'] = $feed->get_title();
            

            
$i++;
            
        } 

Gracias de antemano.
  #2 (permalink)  
Antiguo 01/10/2012, 09:32
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Simple pie RSS

hola, no entendi el porque buscar la referencia.
Código PHP:
Ver original
  1. $array_list_feed[$i]['titulo'] = $item->get_title();
  2.             $array_list_feed[$i]['link'] = $item->get_permalink();

alli obtienes el titulo de la noticia y el enlace hacia donde se encuentra, no comprendo la nesesidad de obtener
Código PHP:
Ver original
  1. $array_list_feed[$i]['referencia'] = $feed->get_title();
porque no armas el pie solo con los dos primeros datos? algo asi:

Código PHP:
Ver original
  1. Echo("<a href=\"$array_list_feed[$i]['link']\">$array_list_feed[$i]['titulo']</a>($array_list_feed[$i]['fecha'])<br />$array_list_feed[$i]['descripcion']");
o de otra forma que se vea bien en tu web...
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 01/10/2012, 11:42
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Simple pie RSS

Me he pasado la noche intentando hacerlo ^^.

pasa que voy a listar los feeds de distintos sitios web.

por ello al usar el PIE para varios feed necesito poner el titulo del sitio web al cual le pertenece esa noticia.

lo he solucionado de la siguiente manera

en item.php he agregado un nuevo metodo

Código PHP:
public function get_title_parent()
    {
        
$parent $this->get_feed();
            
        if (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10'title'))
        {
            return 
$parent->sanitize($return[0]['data'], $parent->registry->call('Misc''atom_10_construct_type', array($return[0]['attribs'])), $parent->get_base($return[0]));
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03'title'))
        {
            return 
$parent->sanitize($return[0]['data'], $parent->registry->call('Misc''atom_03_construct_type', array($return[0]['attribs'])), $parent->get_base($return[0]));
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10'title'))
        {
            return 
$parent->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML$parent->get_base($return[0]));
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090'title'))
        {
            return 
$parent->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML$parent->get_base($return[0]));
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20'title'))
        {
            return 
$parent->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML$parent->get_base($return[0]));
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11'title'))
        {
            return 
$parent->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
        }
        elseif (
$return $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10'title'))
        {
            return 
$parent->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
        }
        else
        {
            return 
null;
        }
    } 
donde
Código PHP:
$parent $this->get_feed(); 
me permite optener los datos generales del feed.


Por otro lado he visto que google reader puede importar las noticias de dias anteriores.

cosa que al ver el feed en el navegador solo puedo ver 10 noticias y al importarlos tambien solo 10

existe alguna manera de como ver mas noticias de esos enlaces feed?

Saludos y gracias por contestar.

Etiquetas: pie, rss, simple
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:31.