Ir para conteúdo

Arquivado

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

jheffers0n

[Resolvido] Background Diferentes em Cada Pagina

Recommended Posts

Bom dia, tudo bem com vocês?

 

Ae Galera gostaria de saber se e possivel definir um background diferente para cada pagina do Site?

tem como fazer isso? Como fazer como fazer? É em Ajax, JavaScrip, css, php ( php rsrsr nada a ver rsr!!!), Como?

 

Me ajudem ae Galera!

Abração e um Bom dia!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas não tem como eu fazer isso de uma forma dinamica não, em vez de colocar um background pelo css pra cada pagina colocar um codigo que puxa e define pra onde vai(no caso as paginas) esse background ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando falamos em dinamicamente logo penso em server-side. Pesquise sobre uma tecnologia de servidor como ASP, PHP, JSP, etc.

 

Mal e porcamente, é possível fazer com indexOf() via Javascript.

 

Uma outra alternativa aceitável é criar, numa mesma folha de estilos, vários ID's para a tag BODY, onde cada ID corresponde à página:

 

body#home { background: blue; }
body#contato { background: red; }
body#portifolio { background: green; }

E em cada página, você dá um id diferente para a tag body.

 

Você pode ter uma noção de aplicação prática da terceira alternativa aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pagina_vermelha.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http-~~-//www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
       <title>Página vermelha</title>
       <link rel="stylesheet" type="text/css" media="all" href="estilos.css">
   </head>

   <body id="vermelho">

   </body>
</html>

 

pagina_azul.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http-~~-//www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
       <title>Página azul</title>
       <link rel="stylesheet" type="text/css" media="all" href="estilos.css">
   </head>

   <body id="azul">

   </body>
</html>

 

pagina_verde.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http-~~-//www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
       <title>Página verde</title>
       <link rel="stylesheet" type="text/css" media="all" href="estilos.css">
   </head>

   <body id="verde">

   </body>
</html>

 

estilos.css

body#vermelho { background: #f00; }
body#azul { background: #00f; }
body#verde { background: #0f0; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

a sim entendi no caso seria um em id diferente pra casa pagina ne?

Mas o meu caso e no Wordpress! como ficaria pq tem aquela parte que agente tem que repartir o layout em Header, footer e etc

por isso queria isso dinamicamente com algum script que por exemplo: declara as paginas e o background que corresponde a cada uma dela! :) Sera que assim e possível? mas se tiver alguma solução parecida fala ae galera to precisando disso de verdade so isso ta atrasando o site todo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maus a demora.. Trabalho me consome hehe. Já ouviu falar em http://codex.wordpress.org/Conditional_Tags? Então o que poderia ser feito? Não tenho certeza se funcionaria com background total, mas com divs funciona, o negócio é testar...

 

Criamos um ID para cada background de cada categoria paracido com o que o evandro citou.. ex:

 

body#1 { background: red; }
body#2 { background: green; }
body#3 { background: purple; }
body#4 { background: silver; }

dinâmicamente o que pode ser feito é empregar as condicionais

 

<?php if (is_home()) { ?>
<body id="1">
<?php } else if (is_category('carros')) { ?>
<body id="2">
<?php } else if (is_category('motos')) { ?>
<body id="3">
<?php } else if (is_category('geral')) { ?>
<body id="4">
<?php } ?>

Entendendo o código: Se a página for a home puxe id="1" e por consequência o background exibirá a cor de seu id, caso a página (categoria) seja da carros faça id="2" e a imagem do background exibirá a cor de seu id e assim por diante...

 

Tente, pode ser que funcione.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera blzz deu certo! Mas aconteceu um problema, sabe a single ne aonde aparece o resultado(imprime) os post então

ela fica sem background e quando eu declaro um background na div ele fica fixo para todas as outras paginas

entenderam ?

como faço pra solucionar isso?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz um modo dinâmico para carregar o fundo no meu site:

http://www.edos.com.br

 

Na linha onde ele carrega normalmente a imagem de background, adicionei um campo dinâmico:

 

---

 

<div style="text-align: left; width: 1007px; margin: 0 auto; position: relative; background-image:url('<?php bloginfo('url'); ?>/wp-content/themes/(caminho da imagem)/<?php $fundo_site = get_post_meta($post->ID, 'fundo_site', true); ?><?php if($fundo_site !== '') { ?><?php echo $fundo_site; ?><?php } else { ?><?php echo 'background_404' ?><?php } ?>.jpg'); background-repeat:no-repeat">

 

---

 

Quando for criar uma página, crie um valor no "Campo personalizado / Custom Field" chamado "fundo_site" (sem aspas). O valor deverá ser colocado sem o ".jpg" pois já está definido.

 

Se não colocar nenhum valor(caso acessarem uma página não existente, carregará automaticamente uma imagem chamada "background_404" (sem aspas), criando uma página personalizada.

 

 

 

Espero ter ajudado.

 

Qualquer coisa é só gritar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jheffers0n...

 

Eu tive um lance assim ontem para ser mais objetivo e eu resolvi de uma forma muito simples.

Criei um campo personalizado para inserir na página.

 

E para dificultar um pokinho mais, o meu fundo estava dentro de uma CSS, porque ele era uma <div> que tinha esta imagem de fundo, só que na home ela ficaria normal, e nas demais páginas ela mudaria para um imagem diferente para cada página. Como eu resolvi:

 

No arquivo header.php

<div class="a class definida padrão do topo" style="background:url(<?php $key="feature";echo get_post_meta($post->ID,$key,true);?>) no-repeat top left; position: relative;">
Como você pode reparar eu criei o meu campo personalizado com o nome de "feature" mais ele pode ser alterado para oque você achar melhor.

 

Feito isso quando você quiser que entre uma imagem no local especificado é só mente você ir em Editar Página / Campos Personalizados como na imagem abaixo:

Imagem Postada

 

Ai é somente adcionar estes dados e publicar o conteúdo.

 

o site no qual eu fiz essa mudança está em Ergone | Ergonomia

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este tópico já está resolvido

 

jheffers0n Postou Ontem, 10:22

Opis foi mal Galera ta!

 

Já esta Resolvido Obrigado a Todos =D

Abraço

 

Eu conheço este tema da Elegant Themes que foi usado nesse Ergone.. "The Corporation" Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo header.php

 

<div class="a class definida padrão do topo" style="background:url(<?php $key="feature";echo get_post_meta($post->ID,$key,true);?>) no-repeat top left; position: relative;">

Como você pode reparar eu criei o meu campo personalizado com o nome de "feature" mais ele pode ser alterado para oque você achar melhor.

 

Feito isso quando você quiser que entre uma imagem no local especificado é só mente você ir em Editar Página / Campos Personalizados como na imagem abaixo:

exemplo-campo-personalizado.jpg

 

Ai é somente adcionar estes dados e publicar o conteúdo.

 

o site no qual eu fiz essa mudança está em Ergone | Ergonomia

 

Espero ter ajudado!

 

Aproveitando o tópico: eu tenho que adicionar alguma action para que funcione desta forma os campos personalizados. No trabalho que estou desenvolvendo usarei uma background variável dentro de uma única div. Caso tenha que criar action e alguém puder me ajudar, agradeço demais.

@jvitorcarvalho

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.