Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Psycop

Script para Ler Ficheiro XML

Mensagens Recomendadas

Psycop    2
Psycop

Boas

Estou a tentar criar um pequeno script para implementar publicidade, do género de ter uma imagem 300x300 e quando clicarem nessa imagem serem redireccionados para o respectivo site.

Tudo isto é para integrar num blog wordpress.

Acho que a melhor maneira de fazer isto é criar um ficheiro XML com as informações de imagem - link e depois fazer um script em javascript para escolher um dos nodes e apresenta-lo no wordpress.

Mas estou com alguns problemas a implementar isto:

Até agora cheguei ao seguinte:

Ficheiro XML:

< ?xml version="1.0" encoding="UTF-8" ?><pub>


    <ad href="http://www.ad1com">title="ad1">http://site.com/pub/ad1.jpeg</ad>


    <ad href="http://www.ad2.com"title="ad2">http://site.com/pub/ad2.jpeg</ad>


</pub>

O script a que cheguei é o seguinte:

<script type="Publicidade">     
var xmlDoc;
    function loadxml()
    {
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async = false;
          xmlDoc.onreadystatechange = readXML;
          xmlDoc.load("publicidade.xml");


    xmlDoc.selectNodes(xpath);
    xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
    
    xml.setProperty("ad1","XPath");
    xml.selectNodes("(Duvida)");


    xml.setProperty("ad2","XPath");
    xml.selectNodes("(Duvida)");




</script>

Acham que este é o caminho? Não tenho nenhuns conhecimentos em XML ou JavaScript, fiz isto ao pesquisar no google! O que devo melhorar ou o que me falta para ficar funcional?

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Podes fazer de diversas maneiras, consoante a tua disposição para alterar os parâmetros, isto é, se quando quiseres alterar os parceiros de publicidade, estás com disposição para alterar ficheiros ou queres apenas uma interface integrada no Wordpress onde o possas fazer facilmente.

Se quiseres seguir o caminho mais fácil para editar, podes procurar um das dezenas de plugins de publicidade para Wordpress. Alguns permitem-te rotatividade, agenda de publicidade, etc. Se não quiseres um plugin, podes integrar no teu tema uma página, e guardar os links dos parceiros na base de dados. Esta última opção também requer algum trabalho a desenvolver.

Por outro lado, se quiseres algo mais quick n' dirty (sem ofensa, é essa a expressão), podes também criar um ficheiro PHP com um conteúdo do género:

<?php

  // Links dos parceiros, na forma (endereço, imagem)
  $parceiros = array(
    array( 'http://www.ad1.com' , 'http://site.com/pub/ad1.jpeg' ),
    array( 'http://www.ad2.com' , 'http://site2.com/pub/ad.jpeg' ),
    array( 'http://www.teusite.com' , 'http://teusite.com/pub/institucional.gif' )
   );

  // obter um parceiro aleatorio
  $escolhido = $parceiros[array_rand($parceiros)];

  echo sprintf(
    '<a href="%s"><img src="%s" width="300" height="300" alt="publicidade" border="0" /></a>',
    $escolhido[0],
    $escolhido[1]
  );
?>

Isto dá-te uma imagem aleatória de cada um dos parceiros (não testei o código)

Se quiseres seguir com XML, também lhe podes aceder por PHP. Nota que todas as soluções que te dei até agora são do lado do servidor. A maneira como estás a fazer é do lado do cliente, que para além de eu suspeitar que não é compatível com o Firefox (a julgar pelo new ActiveXObject), obriga a que o utilizador faça download de todo o conteúdo do ficheiro (podendo comprometer a confidencialidade dos parceiros, por exemplo).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Psycop    2
Psycop

Boas

Obrigado pela resposta. Andei a procura de um plugin que efectuasse  o que pretendo, mas não encontrei nenhum! Conheces algum que seja capaz de fazer o que pretendo?

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fmsf    0
fmsf

Tens o jQuery.parseXML que te transforma uma string com XML num objecto de javascript que depois podes atravessar.

http://api.jquery.com/jQuery.parseXML/

É muito mais simples para fazeres o load. Mete o XML todo numa string e corre-o pelo parseXML.

Alternativamente se tiveres a usar jQuery para controlar o teu ajax podes dar ordem ao teu post/get/ajax para fazer o parse automaticamente

$.post("url/para/o/teu/file.xml", function(data){
      console.log(data); // o teu objecto xml ta carregado na data.
}, "XML");

Assim os que se sentirem flamed com isto http://www.codescream.com/?p=18 nao podem dizer que nao tento ajudar tb.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Eu também não sei bem quais as tuas necessidades, mas encontrei estes:

http://wordpress.org/extend/plugins/advertwhirl/

http://wordpress.org/extend/plugins/komoona/

http://wordpress.org/extend/plugins/simple-ads-manager/

http://wordpress.org/extend/plugins/xtreme-banner-rotator/  (acho que este último usa flash, embora apenas precises de lhe dar as imagens estáticas)

De qualquer maneira, ainda podes fazer da maneira que o fmsf disse, com jQuery, visto que a framework deve resolver a compatibilidade dos diferentes browsers.

fmsf, não percebi isso do flamed, mas a tua ajuda é válida, e do ponto de vista onde está o quadro (javascript) ainda se torna mais válida que a minha resposta. Não era uma coisa que eu faria do lado do cliente, pelos motivos que apresentei, mas isso não signifique que seja errado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade