Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Leitor de feed ou rss no próprio site

26-10-2008 22:41

Mostrarei neste como colocar no próprio site um leitor de rss/feed externo .

Primeiro vamos a página que configura o leitor …
Vamos chamar esta de rss.php

<? require_once("rss.class.php"); $rss1 = new rss("http://hidroweb.com/blog/?feed=rss2"); ?> <style type="text/css"> .rss_container { width: 350px; border: 0 ; font-size: 12px ; padding: 2px ; margin: 5px ; } .rss_inner { margin: 0 ; } .rss_inner dt { padding-top: 10px; } .rss_inner dl dt { margin: 1px; background-color: transparent ; } </style> </head> <body> <!– Aqui, é onde vão as caixas com os posts –> <?=$rss1->leitor()?> </body> </html>

Simples entendimento, caso queiram colocar mais de um rss basta acrecentar :

$rss2 = new rss("novo endereço"); $rss3 = new rss("novo endereço"); quantos quiser….. e lógico : <?=$rss2->leitor()?> <?=$rss3->leitor()?>

Esta parte foi fácil com certeza .

Agora vamos buscar o rss:

rss.class.php

<? class rss {     function rss($a){         // $a deve ser o caminho para o rss         // Primeiro armazenamos o xml         $info = simplexml_load_file($a); // Esta funcao carrega o arquivo xml em uma variavel         $this->title = $info->channel->title; // Titulo do RSS         $this->link = $info->channel->link ;    // Link para a pagina         $this->itens =  $info->channel->item; // Conteudo do RSS   $this->description =  $info->channel->description; // Breve descricao     }     function leitor($limit=10) {         // Funcao que le o rss e gera uma caixa sem formatação         // $limit é um argumento opcional para o maximo de links a serem chamados         $itens = $this->itens ;         $output = "<div class='rss_container'><div class='rss_inner'><dl>";         for($i = 0; $i < sizeof($itens) AND $i < $limit; $i++) {             $link = $itens[$i]->link ;             $titulo = $itens[$i]->title ;    $description = $itens[$i]->description ;             $output .= "<dt><a href='$link' target='_blank'>$titulo</a><p>$description</p></dt>";         }         $output .= "</dl></div></div>" ;         return $output ; // Ele retorna o código da caixa     } } ?>

Um exemplo deste funcionamento vc pode verificar em http://www.gealuz.com
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

26-10-2008 23:19

Boa, faltou só uma base do xml como exemplo.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 1

Leitor de feed ou rss no próprio site

24-02-2010 07:19

Amigo fiz como descrito acima mas ocorre um erro no rss.php

Warning: simplexml_load_file() [FUNCTION.simplexml-load-file]: I/O warning : failed TO LOAD external entity " EDITADO MEU BLOG BLOG/?feed=rss2" IN /xxxx/xxxxx/public_html/rss.class.php ON line 8

já no rss.class.php na linha 8

$info = simplexml_load_file($a); // Esta funcao carrega o arquivo xml em uma variavel 

utilizo o WordPress 2.9.2

podes me ajudar?

Abraços
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Leitor de feed ou rss no próprio site

24-02-2010 08:30

A função simplexml_load_file deve estar desativada, vai no teu PHP.ini e ativa la , caso não tenha acesso solicite ao suporte.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

24-02-2010 14:55

Tenta um teste de verificação. Se seu xml funciona correto pelo link, carrega ele sem o http://... ou seja, só direciona para o arquivo. Porque o leitor deve estar achando que o rss vem de um arquivo externo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Leitor de feed ou rss no próprio site

04-08-2011 15:29

Boa tarde amigos,
eu utilizei o código acima e está funcionando direitinho, só que em minha página principal eu tenho um código em javascript que é a miniatura da página de notícias, será que eu conseguiria espelhar essa página de notícias na página principal, ou seja eu consigo fazer uma miniatura das notícias na minha página principal, com atualização automática por rss?
fico no aguardo de uma ajuda se possível!

Abraços
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-08-2011 15:38

O que seria espelhar?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Leitor de feed ou rss no próprio site

04-08-2011 15:43

colocar as mesmas notícias num box na página inicial.
ou seja, quando atualizar as notícias na página rss.php aparecer tbm na index.php

é possível?

exemplo: www.canalecarrieiro.com.br
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-08-2011 15:47

Sim é possível. Teria várias formas. Você pode carregar o arquivo com as notícias por include, iframe, jQuery, etc...

No caso do slide de notícias do link, o conteúdo parece que vai direto no script, no código-fonte.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Leitor de feed ou rss no próprio site

04-08-2011 15:50

entendi, mas eu gostaria que ficasse rolando como está sem ter q colocar manualmente
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-08-2011 16:01

Ah. Esse slide ai parece o simples marquee. O desse site é esse aqui

<marquee id="scroller" scrollamount="3" direction="up" onMouseOver="scrollOver()" onMouseOut="scrollOut()" style="width:296px; height:200px"> notícias..</marquee>

É só carregar o texto do xml dentro do marquee, usando o PHP.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Mensagens: 45

Leitor de feed ou rss no próprio site

05-08-2011 10:13

é isso mesmo meu querido, obrigado pela ajuda!

Abraço!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

05-08-2011 12:12

;)
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 3
Sexo: Masculino

Leitor de feed ou rss no próprio site

04-09-2011 10:47

Boas,

Está um espetáculo a explicação.

No entanto, eu gostarei de mostrar as data e as horas à frente do titulo do post.

Como é que faço?

cumps,

Gois
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-09-2011 11:42

Tenta obter a data através dessa linha

$data = $itens[$i]->date ; 

0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 3
Sexo: Masculino

Leitor de feed ou rss no próprio site

04-09-2011 17:27


(...)     $this->title = $info->channel->title; // Titulo do RSS         $this->link = $info->channel->link ;    // Link para a pagina         $this->itens =  $info->channel->item; // Conteudo do RSS         $this->description =  $info->channel->description; // Breve descricao         $this->data = $info->channel->data;      }     function leitor($limit=10) {         // Funcao que le o rss e gera uma caixa sem formatação         // $limit é um argumento opcional para o maximo de links a serem chamados         $itens = $this->itens ;         $output = "<div class='rss_container'><div class='rss_inner'><dl>";         for($i = 0; $i < sizeof($itens) AND $i < $limit; $i++) {             $link = $itens[$i]->link ;             $titulo = $itens[$i]->title ;             $description = $itens[$i]->description ;             $data = $itens[$i]->date ;              $output .= "<dt><a href='$link' target='_blank'>$titulo</a><p>$description</p><p>$data</p></dt><hr>";         } (...) 

alterei mas n consigo postar as horas de cada post...

Alguma sugestão?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-09-2011 17:41

Mas a data apareceu?

Ai você pode colocar o hour

$hora = $itens[$i]->hour ; 

Se não me engano, geralmente no date deveria vir a hora também.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 3
Sexo: Masculino

Leitor de feed ou rss no próprio site

04-09-2011 17:51

Não apareceu da data nem as horas!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Leitor de feed ou rss no próprio site

04-09-2011 18:10

Eu olhei direto no RSS, e vi que a data é armazenada em pubDate

Adiciona essa linha na sequência da função

$this->pubDate =  $info->channel->pubDate; // Data 

Essa linha coloca no for

$data = $itens[$i]->pubDate ; 

Ai pode chamar a data depois do título, assim:

$titulo - $data

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado