Suporte » Temas » Como fica o script correto?

  • Resolvido ivandnt

    (@ivandnt)


    Eu tinha pedido a dica do Banner alternado e o enapupe me ajudou com o script. (Obrigado enapupe) porém não consigo trocar o script para uma maneira correta.

    Script by epanune

    <img src="//caminho.pro/arquivo/de/imagem/banner<?=rand(1,2);?>.ext" />
    Tendo assim os arquivos:
    banner1.ext
    banner2.ext

    A linha referente ao banner estava no style.css do tema da seguinte maneira:

    <code>#page{background:transparent url(images/header.jpg) no-repeat center top;}</code>

    eu tentei assim:

    #page{background:transparent url(images/banners/banner<?=rand(1,2);?>.jpg) no-repeat center top;}

    não funcionou :/
    Alguém me dá uma luz?
    Grato.

Visualizando 12 respostas - 1 até 12 (de um total de 12)
  • Moderador Leo Baiano

    (@leobaiano)

    Parceiro, você jogou um código PHP dentro de um arquivo CSS, nunca vai funcionar… O código que o enapupe te passou era pra chamar a imagem do banner direto no template e não via background com CSS.

    Você precisa incluir o código:
    <img src="//caminho.pro/arquivo/de/imagem/banner<?=rand(1,2);?>.jpg" />
    no tema, o que vai acontecer é que cada vez que a página for carregada o Rand() sorteia se deve imprimir 1 ou 2, assim as vezes irá aparecer a imagem 1.jpg e outras vezes vai aparecer a imagem 2.jpg.

    Você também pode fazer assim:
    Crie uma classe para cada background diferente a ser utilizado, ex:
    #page .bg1 {background:url(img1.jpg)}
    #page .bg2 {background:url(img2.jpg)}
    #page .bg3 {background:url(img3.jpg)}

    Daí no HTML, no elemento IDentificado como #PAGE você adiciona:
    class="bg<?=rand(1,2);?>"

    Caso ele já tenha o atributo class, dê um espaço para separar a classe e adicione:
    bg<?=rand(1,2);?>, ficando assim:
    class="myclass bg<?=rand(1,2);?>"

    Criador do tópico ivandnt

    (@ivandnt)

    Identifiquei o arquivo que selecionava a função #Page. era o Header.php do tema. editei a função da seguinte maneira:

    header.php
    <div id="page"> class="bg<?=rand(1,2);?>"

    e o style.css da seguinte maneira:

    #page .bg1 {background:url(images/banners/banner1.jpg)}
    #page .bg2 {background:url(images/banners/banner2.jpg)}

    porém quando acesso a página além da modificação não ter funcionado, aparece um trecho do código na parte superior da página. Segue um print:

    http://img833.imageshack.us/img833/8942/failq.jpg

    <div id="page" class="bg<?=rand(1,2);?>">

    Criador do tópico ivandnt

    (@ivandnt)

    dessa vez os erros sumiram. porém nada de imagem aparecer! já chequei os diretórios e tudo. mas não consigo descobrir o problema. Alguma idéia do que seja?

    Manda o link..

    Criador do tópico ivandnt

    (@ivandnt)

    Tira fora aquele #page antes do .bg1 no CSS e confira o caminho da imagem..

    Criador do tópico ivandnt

    (@ivandnt)

    FUNCIONOU! Muito obrigado 😀

    Criador do tópico ivandnt

    (@ivandnt)

    que estranho. fui repetir o procedimento pra acrescentar mais uma imagem porém voltou tudo a desaparecer 🙁
    como devo deixar para ir acrescentando mais imagens?

    Endenda que rand(1,2) te retornará um número aleatório entre 1 e 2, caso você queira um alcance maior, troque o numero 2 pelo maior número que desejas..

    Criador do tópico ivandnt

    (@ivandnt)

    Mais uma vez obrigado. Vosso conhecimento foi de muita utilidade

Visualizando 12 respostas - 1 até 12 (de um total de 12)
  • O tópico ‘Como fica o script correto?’ está fechado para novas respostas.