Ir para conteúdo

POWERED BY:

Arquivado

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

Williams Duarte

Pegar imagem do Feed

Recommended Posts

Galera preciso pegar a imagem do feed em um blog em wordpress, para que eu possa listar em uma área de membros o resumo do blog, e antes funcionava beleza com o xml desta forma abaixo:

 

<description>
<![CDATA[
<p><img width="130" height="120" src="http://blog.site.com.br/wp-content/uploads/2014/10/seo-130x120.png" class="attachment-post-thumbnail wp-post-image" alt="BAU1" /></p> <p>texto</p>
]]>
</description>
<content:encoded>
<![CDATA[
<p><img width="130" height="120" src="http://blog.site.com.br/wp-content/uploads/2014/10/seo-130x120.png" class="attachment-post-thumbnail wp-post-image" alt="BAU1" /></p>Jtexto</p>
]]>
</content:encoded>

Agora o xml mudou em uma atualização ficando deste jeito.

<item>
<title>SEBRAE e os Negócios Virtuais</title>
<link>
http://blog.site.br/negocios-virtuais/
</link>
<comments>
http://blog.site.br/negocios-virtuais/#comments
</comments>
<pubDate>Tue, 30 Sep 2014 18:16:07 +0000</pubDate>
<dc:creator>
<![CDATA[ ViaLoja Shopping ]]>
</dc:creator>
<category>
<![CDATA[ Comércio Eletrônico ]]>
</category>
<category>
<![CDATA[ Produtividade ]]>
</category>
<guid isPermaLink="false">http://blog.site.com.br/?p=262</guid>
<description>
<![CDATA[
<p>Normalmente é assim, pelo menos na internet.....</p>
]]>
</description>
<wfw:commentRss>
http://blog.site.br/negocios-virtuais/feed/
</wfw:commentRss>
<slash:comments>0</slash:comments>
<media:content url="http://blog.site.com.br/wp-content/uploads/2014/09/seo-150x150.jpg" width="150" height="150" medium="image" type="image/jpeg"/>
</item>
<item>

Não estou conseguindo pegar esta parte, que é imagem =)

<media:content url="http://blog.vialoja.com.br/wp-content/uploads/2014/09/sebrae-150x150.jpg" width="150" height="150" medium="image" type="image/jpeg"/>

Já fiz várias modificações e como não consegui, vou postar o código original, lembrando que os outros dados estão funcionando corretamente como por exemplo title. :wacko:

 


Segue o js

function loaded_blog(result) {
    if (!result.error) {
        for (var i = 0; i < result.feed.entries.length; i++) {
            var entry = result.feed.entries[i];
            var dataPubli = new Date(entry.publishedDate);
            var img = $(entry.content).find('img:first');
            img = $(img[0]).attr('src');
            var div = "<div class='media'><a class='pull-left' href='" + entry.link + "' target='_blank'><img class='media-object' src='" + img + "' /></a><div class='media-body'><a href='" + entry.link + "' target='_blank' title='" + entry.title + "'><h4 class='media-heading'><span class='text'>" + truncar_texto(entry.title, 100) + "</span>";
            if (dataPubli > dataNovo) {
            div += "<span class='label label-success'>Novo</span>";
            }
            div += "<small> - " + formatar_data(dataPubli) + "</small></h4>" + truncar_texto(entry.contentSnippet, 120) + "</a></div></div>";
            $('.changelog-container .box-content').append(div);
        }
    }
}
Obrigado!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é por causa do namespace.

 

Esse foo:bar é um problema na leitura de xmls.

Não sei como configuraria no javascript, mas no server-side com php por exemplo, para ler namespace, vc precisa registrá-lo antes. Exemplo:

 

http://wbruno.com.br/wordpress/ler-namespace-xml-php-usando-a-simplexml/

 

Dá uma pesquisada se vc precisa tb "registrar o namespace" no js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu William, vou dar uma pesquisada e vê se acho em js, senão vou partir para o php mesmo.

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se existir no objeto, ele pode ser acessado

<script>

var media = entry['media:content'];

// O que é media?

</script>

O que é media?

Se for um objeto, então acesse seu atributo url=""

 

Se desejar usar PHP, eu já tenho alguma coisa pronto, posso lhe passar se desejar

Compartilhar este post


Link para o post
Compartilhar em outros sites


$.ajax({

url: 'freed.xml',

dataFilter: function( xmlDoc ){

var title = $(xmlDoc).find('title').text();

// etc...

var image = $(xmlDoc).find('media\\:content, content').attr('url');

}

});

 

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.