Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jonas Cowboy

Tutorial para colocar noticias de um blog no meu site em flash

Recommended Posts

Hey Pessoal, preciso de uma ajuda para colocar noticias de um blog no meu site em flash.

 

Seguinte, eu tenho um blog e toda vez que eu colocasse uma noticia nele, queria que meu site em flash reconhecesse em um box a ultima noticia postada como se fosse um leia mais. Sei que é super complicado e queria saber onde e como que eu posso procurar um tutorial que me ensinasse a fazer esse tipo de processo.

 

Vlw!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

leia como fazer RSS

 

RSS é um tipo de XML logo você pode ler RSS como se fosse um XML e abrir em seu site.

Leia sobre XML e crossdomain.xml

 

Abraços

 

Berseck, fui ver como que posso aplicar a função de rss com xml no flash mas não consigo encontrar nenhum tuto que explique cabo a rabo como que eu faço isso, só acho softwares que tem essa propriedade mas são pagos, como o CoffeCup... tem como me dar uma força nisso??

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já expliquei RSS é EXATAMENTE IGUAL a um XML sem tirar nem por... só tem outro nome

 

Tudo que você tem que fazer é ler o rss como se fosse ler um XML e ler os nós dele...

 

Como qualquer tutorial que ensina como pegar as infos de um XML

Ex: http://berseck.wordpress.com/2009/04/06/como-chamar-um-xml/

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já expliquei RSS é EXATAMENTE IGUAL a um XML sem tirar nem por... só tem outro nome

 

Tudo que você tem que fazer é ler o rss como se fosse ler um XML e ler os nós dele...

 

Como qualquer tutorial que ensina como pegar as infos de um XML

Ex: http://berseck.wordpress.com/2009/04/06/como-chamar-um-xml/

 

Abraços

 

Berseck, to pesquisando e quebrando a cabeça pra fazer um campo dinamico no flash para ler noticias do meu blog usando a estrutura q você me ensinou mas não estou tendo sucesso, manjo pouca coisa de AS e nada de XML, o unico exemplo que encontrei para me ajudar nisso foi esse AS (com um campo dinamico chamado "campoTxt"):

 


//caixa de texto dinamico
//_root.createTextField("campoTxt", root.getNextHighestDepth(),0, 0, 20, 20);
//configuro meu texto
campoTxt._width = Stage.width;
campoTxt._height = Stage.height;
campoTxt.html = true;
campoTxt.wordWrap = true;
campoTxt.multiline = true;

//xml
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load("http://rss.noticias.uol.com.br/ultnot/index.xml");
xml.onLoad = function(ok:Boolean){
if(ok){
//coloque aqui seu código pra ler xml
//Crio variaveis pra receber nós xml

//titulo blog
var linkBlog:String = xml.firstChild.childNodes[0].childNodes[2].childNodes;
var tituloBlog:String = xml.firstChild.childNodes[0].childNodes[0].childNodes;

//conteudo 1
var link1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[1].childNodes;;
var titulo1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[0].childNodes;
var conteudo1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[8].childNodes;

//conteudo 2
var link2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[1].childNodes;;
var titulo2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[0].childNodes;
var conteudo2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[7].childNodes;

//conteudo 3
var link3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[1].childNodes;;
var titulo3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[0].childNodes;
var conteudo3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[9].childNodes;


//mostra conteudo no campo de texto
campoTxt.htmlText = "<a href='" + linkBlog + "' target='_blank'><b>" + tituloBlog +"</b></a><br><br>" +
"<a href='" + link1 + "' target='_blank'><b>" + titulo1 + "</b><br>" +
conteudo1 + "</a>" +
"<br><br>" +

"<a href='" + link2 + "' target='_blank'><b>" + titulo2 + "</b><br>" +
conteudo2 + "</a>" +
"<br><br>" +

"<a href='" + link3 + "' target='_blank'><b>" + titulo3 + "</b>" +
conteudo3 + "</a>";


}else{
trace("não carregou");
}
}

Mas ele mostra tudo quebrado, com as url dos links aparecendo e dificil de customizar, tem como me dar uma força nisso? Pq estou quebrando a cabeça a dias e não consigo achar resposta na net!

 

Abs!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom para começar você tem que usar crossdomain para carregar XML que não pertence ao seu servidor

 

Segundo fiz o código assim:

System.useCodepage = true;
//caixa de texto dinamico
var campoTxt:TextField = _root.createTextField("campoTxt", root.getNextHighestDepth(),20, 20, 510, 360);
//configuro meu texto
campoTxt._width = Stage.width;
campoTxt._height = Stage.height;
campoTxt.html = true;
campoTxt.wordWrap = true;
campoTxt.multiline = true;

//xml
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load("http://rss.noticias.uol.com.br/ultnot/index.xml");
xml.onLoad = function(ok:Boolean){
if(ok){
//coloque aqui seu código pra ler xml
//Crio variaveis pra receber nós xml

//titulo blog
var linkBlog:String = xml.firstChild.childNodes[0].childNodes[2].childNodes;
var tituloBlog:String = xml.firstChild.childNodes[0].childNodes[0].childNodes;

//conteudo 1
var link1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[1].childNodes;;
var titulo1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[0].childNodes;
var data1:String = xml.firstChild.childNodes[0].childNodes[7].childNodes[3].childNodes;

//conteudo 2
var link2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[1].childNodes;;
var titulo2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[0].childNodes;
var data2:String = xml.firstChild.childNodes[0].childNodes[8].childNodes[3].childNodes;

//conteudo 3
var link3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[1].childNodes;;
var titulo3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[0].childNodes;
var data3:String = xml.firstChild.childNodes[0].childNodes[9].childNodes[3].childNodes;


//mostra conteudo no campo de texto
campoTxt.htmlText = "<a href='" + linkBlog + "' target='_blank'><b>" + tituloBlog +"</b></a><br><br>" +
"<a href='" + link1 + "' target='_blank'><b>" + titulo1 + "</b></a><br />" +
data1 +
"<br /><br />" +

"<a href='" + link2 + "' target='_blank'><b>" + titulo2 + "</b></a><br />" +
data2 +
"<br /><br />" +

"<a href='" + link3 + "' target='_blank'><b>" + titulo3 + "</b></a><br />" +
data3;


}else{
trace("não carregou");
}
}

Igual ao seu só que em vez de procurar um node que não existe... para pegar conteudo que não existe... eu peguei as datas.

Para olhar a formatação do RSS basta pedir o código font que você ve como funciona.

 

E o resultado foi isso aqui:

UOL Notícias

 

"Ídolos" será reprisado a partir de sábado

Fri, 04 Dec 2009 13:49:03 -0300

 

Santos Dumont e continuação têm lentidão em SP

Fri, 04 Dec 2009 13:49:00 -0300

 

Pão de Açúcar depende cada vez menos do setor alimentício; ouça

Fri, 04 Dec 2009 13:47:00 -0300

 

 

Mas lembrando que isso ai não vai funcionar na internet, você precisa colocar um crossdomain

 

Exemplo de um crossdomain:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
<allow-access-from domain="twitter.com"/>
<allow-access-from domain="api.twitter.com"/>
<allow-access-from domain="search.twitter.com"/>
<allow-access-from domain="static.twitter.com"/>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="*.twitter.com" headers="*" secure="true"/>
</cross-domain-policy>

Como chamar crossdomain no flash:

System.security.loadPolicyFile('nome do arquivo');

Ou seja se você quiser um do uol você vai ter que alterar para mais ou menos isso aqui:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
<allow-access-from domain="uol.com.br"/>
<allow-access-from domain="rss.noticias.uol.com.br"/>
<allow-access-from domain="rss.noticias.uol.com.br/ultnot/"/>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="*.uol.com.br" headers="*" secure="true"/>
</cross-domain-policy>

Deve funcionar... mas não é 100% de certeza.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Berseck, vlw pela ajuda, mas aconteceu um problema quando eu coloquei o código para funcionar no flash. Apareceu essa mensagem de erro:

 

 

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 15: There is no property with the name 'onload'.

xml.onload = function(ok:Boolean){

 

 

 

No que pode estar errado? engraçado q o código AS que você colocou é quase igual ao que eu coloquei. Onde que poderia estar errado? Mal se a pergunta é besta, é que quando fala de interação com xml pra mim é grego uhuhahsa to tentando aprender. Abs!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No L do load

 

existe onload minúsculo??? não... o forum é que diminui... só colocar o L maiúsculo.

 

Abraços

 

Oi Berseck, precisava de uma ajuda sua em relação a RSS no flash

 

Seguinte, eu fiz do jeito que está descrito e deu certo, mas acontece um problema: Quando eu carrego o swf no flash ele abre a janela de rss com todas as informações, mas quando eu projeto meu swf dentro de um html as noticias não aparecem. Sei que isso se deve a um conflito do xml da programação com o html que tem o flash dentro, mas como que eu posso resolver essa situação? não manjo muito de programação pra descobrir a falha, tem como me dar uma força??

 

Abs!!

 

Alguem poderia me ajudar com este problema, só preciso disto para colocar um link de blog no meu site. Ele funciona bem no swf mas quando está no html nem surge a imagem. Alguem sabe o que eu poderia fazer?? Abs!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.