1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvidas nas CSS'S!!!

Discussão em 'Web Development' iniciada por The Dreamer, 10 de Fevereiro de 2008. (Respostas: 14; Visualizações: 1383)

  1. The Dreamer

    The Dreamer Power Member

    Duvidas nas CSS'S!!!
    Oi malta!Preciso mais uma vez da vossa preciosa ajuda!

    Estou a criar um site com CSS mas o menu feito no flash.

    A minha duvida é:

    -Criei uma página index onde tenho uma estrutura. Menu e banner em cima importados do flash(embebi o swf numa div no html).Agora queria que os conteudos mudassem. Tenho de ter toda a estrutura em todas as outras páginas ou há maneira de só a por no index por forma a ser carregado o menu só uma vez,e nas outras por só os conteudos que vão mudando?!

    Usando tabelas faz-se iframe e pronto.Ou um template com a área de conteudos editaveis.Mas com CSS ainda tou meio á toa.Dá para fazer template com CSS's?!!!

    Pq se ponho a estrutura em todas as páginas é uma cagada pq tenho de alinhar ao centro todas as paginas e cada vez q clicamos num link ele carrega de novo o swf,é mto chato... :(

    Bem...se me puderem dar umas dicas agradeço.

    Abraço e obrigado
     
    Última edição pelo moderador: 10 de Fevereiro de 2008
  2. davidprod

    davidprod Power Member

    é um pouco complicado perceber o que queres, mas vou tentar ajudar.
    A tua dúvida não é de css, mas sim de como se estrotura o site..

    tens de ter esse menu em flash em todas as paginas, não ha problema com ocarregamente pois esse fica em memoria no browser e so é carregado uma vez.
    A forma mais simples é usares templates ou header e footer..

    tenta explicar melhor a tua dúvida talvez te possa-mos a judar

    cumps
     
  3. The Dreamer

    The Dreamer Power Member

    Oi! Axo q percebeste a cena... :)

    É q estou agora a começar com CSS e keria juntar as duas coisas. Flash e (x)html. Só q não estou a captar como posso fazer a ligação das várias páginas em html.Sendo q a estrutura base mantém-se sempre só mudando o conteudo no centro.

    -Há problema de funcionamento embebendo o swf(com o menu em flash) numa div tag?!

    -E há problema de criar um template html através de div's em vez de tabelas para poder estilizar com as CSS's?!


    Se alguém tiver sugestões para pôr isto a funcionar(em termos de ligação entre páginas) agradeço.

    Por agora as duas alternativas q tenho em mente são:

    1-Criar um template em que insiro o menu e a estrutura e depois faço area editavel para os restantes conteudos das outras paginas.

    2-Crio todas as páginas iguais com toda a estrutura igual só mudando o conteudo e ligo página a página.Neste caso segundo dizes as coisas só serão carregadas uma vez pois ficam em memoria né?

    Se houver mais alguma dica ou sugestão agradeço mesmo bué q ainda sou novato nestas andanças.

    Grande obrigado.
     
  4. Uma possível solução.

    Isto é e não é verdade. As páginas irão ser descarregadas na íntegra (visto que ele não adivinha se elas são "parecidas" ou não!!!), EXCEPTO conteúdo ligado a essas páginas (por conteúdo entenda-se imagens, flashes e scripts, entre outros).

    Uma possível solução (tive exactamente na mesma situação e portanto optei por isto. E ATENÇÃO QUE ESTA SOLUÇÃO TAMBÉM DESCARREGA OUTRA VEZ A PÁGINA!!! A ÚNICA DIFERENÇA É QUE SE ALTERARES A ESTRUTURA ELA PROPAGA-SE POR TODAS AS PÁGINAS!!!):
    Se tiveres um servidor PHP (ok, se não tens, ou páras de ler aqui ou arranjas um servidor PHP e continuas a ler... há muitos gratuitos, portanto...) existe algo no PHP chamada include. O que significa que podes "incluir" conteúdo. A ideia geral seria teres a estrutura toda montada. O conteúdo que variaria estaria numa variável do tipo HEREDOC (onde podes colocar um documento inteiro sem te preocupares com o escape de caracteres). A estrutura teria, no sítio onde o novo conteúdo está o <?php echo $variável ?>. Assim, fazias, a seguir à declaração da variável um include da estrutura. A estrutura era incluída na página e, na secção dessa mesma estrutura, a variável seria substituída pelo conteúdo.
    Isto pode parecer confuso. Se não perceberes não te preocupes em dizer que eu tento explicar de outra maneira...

    Basicamente isto:
    Estrutura a ser incluída em todos os sites (estrutura.php):
    PHP:
    Bla Bla Bla
    Epah a seguir é o conteúdo que muda: <?php echo $conteudo ?>
    Bla Bla Bla
    Todos os sites com o dito conteúdo:
    PHP:
    $conteudo = <<<HEREDOC
    AQUI IA A PARTE QUE MUDA
    HEREDOC;
    include 
    "estrutura.php";
    A palavra HEREDOC no documento pode mudar para o que quiseres, desde que seja igual no início e no fim. Os parágrafos têm que estar exactamente como estão no código (um depois de começar e a tag final sozinha numa linha (apenas com o ; à frente)).
     
    Última edição: 12 de Fevereiro de 2008
  5. joker_josue

    joker_josue Power Member

    Eu sugiro algo mais simples... por exemplo, vê este site: www.jokerartgallery.com

    O layout é sempre o mesmo, mas o conteúdo muda.

    Eu fiz o seguinte:

    Código:
    <!-- header -->
    <?php
    $base ="/layout/";
    // se não der ^^, põem assim: "http://www.teuurl.com/layout/"
    include  $base."header.php";
    ?>
    
    Código:
    <!-- conteúdo do site -->
    <?php
    if (isset($_GET['pag'])){
        switch ($_GET['pag']){
            case pga:
              include "page1.php";
              break;    
           case pgb:
              include "page2.php";
              break;
    
            }
    }else{
        include "home.php";
    }
    ?>
    
    O link será: index.php?pag=pga, etc...


    Espero ter ajudado...
     
    Última edição: 12 de Fevereiro de 2008
  6. The Dreamer

    The Dreamer Power Member

    OK malta! Desde já agradeço a vossa atenção e ajuda. E como estou agora a começar a estudar PHP(instalei um servidor apache no computador-espero q seja fixe) vou testar as duas alternativas até como aprendizagem.

    Prometo "chatear-vos" se não tiver a correr bem! LOL

    Grande abraço p vocês

    Mas já agora recapitulando p começar a fazer isto como dever ser:

    Todas as páginas têm de estar na extensão .php?! Até o index?

    Então...crio uma página de estrutura né? Ponho o meu swf com o menu no topo,o rodapé e no centro entrará a parte dinâmica.
    Nessa parte central qual é o código .php para chamar o ficheiro externo?!
    E no ficheiro que vai ser chamado,o seja os conteudos que variam,basta criar a área com a dimensão da caixa do conteudo da estrutura né? Não precisa ter toda a estrutura do site de novo? É como se fosse uma iframe em que defenimos a dimensão?!

    Se puderem dêem uma dica de qual código ponho em qual documento s.f.f.! Nas duas alternativas. Isto parece-me mto interessante e fulcral para poder fazer cenas dinamicas...

    Não há problema de trabalhar com CSS e div's pois não?!

    Um enorme Obrigado.
     
    Última edição pelo moderador: 16 de Fevereiro de 2008
  7. joker_josue

    joker_josue Power Member

    As paginas podem ser em html, a pagina index é que tem de ser php...

    Para ires mostrando os conteúdos, usas o código que eu pus no meu outro post. E usas os links como eu disse também... o resto estas a vontade...

    As dimensões onde ira aparecer o que tu queres, e conforme as indicações dos divs.


    Tenta perceber o funcionamento do código do meu post...
     
  8. São diferentes...

    Não olhes para ambos os posts. São soluções diferentes. Se quiseres fazer, faz uma de cada vez!!! A do joker_josue é sempre a mesma página, só a GET é que muda. Ou seja, é sempre no index.php, só que o ?pag=[página] é que muda. As páginas ficariam tipo index.php?pag=pagina1, index.php?pag=home, index.php?pag=sobre, etc... A minha solução é diferente. É colocares os ficheiros que correspondem às páginas nos seus próprios directórios com o nome de index.php. Assim acedes aos directórios (ou a ficheiros à parte...). Os links ficariam /sobre/, /home/, /pagina1/, etc... Dependendo do que queres, escolhes uma das soluções. Mas não as mistures porque são realmente diferentes. Para começar experimenta a do joker_josue, que é a mais simples. No final acaba por ser uma questão de escolheres o que queres ver no link...
    http://www.oteusite.com/index.php?pag=sobre
    ou
    http://www.oteusite.com/sobre.php [ou http://www.oteusite.com/sobre/ se quiseres que tenha a sua própria pasta]

    De qualquer das formas tens o problema resolvido.
     
  9. The Dreamer

    The Dreamer Power Member

    Ok! Então vou aproveitar a vossa preciosa ajuda p fazer isto das duas maneiras. Pode ser que também sirva para ajudar malta com os mesmos problemas.

    Vou começar pelo método do joker que segundo percebi parece ser mais simples.

    Então crio uma página index.php. Esse index conterá a estrutura ou essa estrutura estará também noutro documento áparte que será puxado para dentro do index?

    Os dois códigos que me deste(o do header e o do conteudo do site) são para colocar os dois no index?! Ou algum será para as páginas de conteudo?

    Ao gravar as páginas com os conteudos posso gravar em html? Depois nao aparece no link referencia ao html?? Tipo http://www.oteusite.com/index.php?pag=conteudo.html ??

    E nos botoes do menu que linkagem ponho? A da página de conteudo que for puxar através desse botão certo?

    Isto tá ainda meio ás aranhas por forma a conseguir encadear as coisas mas hei-de lá chegar...

    Obrigado
     
  10. The Dreamer

    The Dreamer Power Member

    Ainda não consegui apanhar a coisa. É q mesmo percebendo qlqr coisa dos codigos não tou a visualizar como encaixar as coisas...! Que documentos fazer e onde colar os codigos.E sobretudo que URL hei-de dar ao botão para ele chamar o ficheiro que vai entrar no include do php...! Fonhasse...vai la vai..!

    Vou resumir de novo o q kero fazer no site para ver se me conseguem explicar como dividir pelas paginas e liga-las com os codigos respectivos.

    -Tenho um swf com um menu em flash que estará sempre presente no topo.Em baixo o rodapé tb será sempre igual.Só no centro mudarão os conteudos.

    Estou a montar isto no html através de CSS's. Com div's.

    Até manhã e abraços.
     
  11. A tentar explicar...

    Vou tentar responder pelo joker.

    Portanto, respostas segundo MÉTODO DO JOKER:
    A página index.php contém toda a estrutura. Ou melhor, organiza-a. O header, como é igual em todos, será "puxado" (segundo termos teus :D)[já explico isto programaticamente, por enquanto só estou a resumir o conceito] para esse index (só para estar tudo organizadinho).
    O que falta? A parte por baixo do header. O conteúdo que muda está numa página à parte. Chamaremos a uma das páginas jogos.php. A página jogos.php contém apenas o conteúdo a ser acrescentado ao index (que contém, neste momento, o header). Mas existe outra página, chamada forum.php. Esta, tal como a jogos.php, contém o conteúdo que unicamente a ela diz respeito. Agora... Temos um index com um header. Falta acrescentar ou uma página ou outra. Através do include isso é possível (o "puxar"). Mas, como decidir qual é a página? Que parte do link informa o servidor? As variáveis do tipo GET. No exemplo do joker, a variável GET que ele usa chama-se pag. Como usá-la? Para atribuir um valor a essa variável basta no link escrever, por exemplo http://www.site.com/index.php?pag=valor, onde valor seria o valor a atribuir à variável GET. Para não dar erro, verificamos se a variável pag está definida (usando isset, que devolve true ou false, consoante seja verdade ou não). Se estiver definida, utilizar-se-á um switch, que é como que um interruptor com várias posições. Consoante o valor, poder-se-ão tomar várias "decisões". Se o valor for, por exemplo jogos, ele pode fazer o include da página jogos.php. Se for forum pode incluir a página forum.php. Mas não é necessário que seja o nome da página (isto para responder à questão sobre se tens que pôr .html ou não). A análise do valor pode basear-se nos valores f para forum e j para jogos. A escolha é tua. O valor para a qual ele toma a decisão é indiferente, o que importa é associá-los (de preferência de forma intuitiva).
    Daí a parte do switch... Dependendo do valor de GET ele irá fazer o include de uma ou de outra. Poderás acrescentar ao switch o default, que é um case especial (não leva a palavra case atrás). O default é a "decisão" que é tomada se o switch não verificar nenhum dos casos (no nosso caso, se o valor da variável pag nem for forum nem for jogos). Poderias incluir uma mensagem de erro, do género "A página que está a tentar aceder não existe.".

    A esta altura já terás percebido que são para colocar os dois no index...

    Respondida... Até em .txt podes gravar... Lembra-te é de não definir a tag <html> duas vezes (tipo index e header, ou index e conteudo, ou header e conteudo...). Ou pões no index tudo estruturado (que é o que deves fazer) e só colocas as coisas nos sítios (com os includes mais uma vez ou então tens cuidado com esse pormenor.

    Porás o que configurares no switch. Se configurares que o valor para a GET pag deve ser asdfgh se quiseres fazer o include da página qwerty.php, então o link seria http://www.site.com/index.php?pag=asdfgh, e isto iria fazer o include da página qwerty.php no index.

    PHP:
    <!-- header -->
    <?php
    include "http://www.teuurl.com/header.php";
    ?>
    <!-- Aparecerá por cima desta frase todo o header.php -->
    <!-- conteúdo do site -->
    <?php
    if (isset($_GET['pag'])){
        switch (
    $_GET['pag']){
            case 
    "jogos":
              include 
    "jogos.php";
              break;    
           case 
    "forum":
              include 
    "forum.php";
              break;
           case 
    "asdfgh":
              include 
    "qwerty.php";
              break;
           default:
              include 
    "pagnencontrada.php";
              break;
            }
    }else{
        include 
    "home.php";
    //Se a var não estiver definida é porque o link está assim: http://www.teuurl.com/index.php
    }
    ?>
    <!-- footer -->
    <?php
    include "http://www.teuurl.com/footer.php";
    ?>
    Joker depois confirma que não menti em nada. (Lembra-te que estou a tentar interpretar o teu processo, mas posso mais uma vez ter complicado...)

    AH, E DESCULPA O TESTAMENTO!!!
     
    Última edição: 13 de Fevereiro de 2008
  12. The Dreamer

    The Dreamer Power Member

    Oi! Epá...depois desta explicação o minimo q posso fazer é agradecer-te assim bué. Eu ainda não testei que agora são horas de ir dormir...lol, mas amanhã já testo isso tudo. Li o q escreveste e parece q a coisa está a encaixar-se e a fazer sentido. É só kestão de atinar e ganhar mais calo a trabalhar com variaveis e isso.Mas tb se não atinar agora mudo já de área... :/

    Não sei se és professor mas se não és devias ser. lol

    Espero que esta tua explicação(aula) sirva não só para mim como também para mto mais gente iniciante nestas andanças.

    Um grande obrigado a ti (pela paciencia) e ao joker e felicidades.

    PS:prometo voltar em breve...com mais duvidas! :)

    PS2:Não keria deixar de agradecer á techzone por ter este fórum e á malta toda que por cá anda.
     
  13. The Dreamer

    The Dreamer Power Member

    Bons Dias!

    Já agora duas kestõezitas sendo q a parte do switch,dos links já apanhei. É giro! :)

    Mas aparece ai no codigo kuase no final:
    else{
    include
    "home.php"
    ;
    //Se a var não estiver definida é porque o link está assim: http://www.teuurl.com/index.php
    }
    ?>

    Não tou a apanhar qual é a pagina home.php...! E a parte do header e footer tb penso q depois acabaste por não explicar mais em pormenor? São tb duas paginas separadas q entram no index? E onde se insere esses 2 codigos?Dentro das div's respectivas para cabeçalho e rodapé?!

    Abraço
     
  14. Header e footer

    Eu deduzi da explicação do joker que ele iria introduzir o header.php. Eu li algures que querias um rodapé também e por isso é que o pus no código. São duas páginas separadas. O header é o código que corresponde ao cabeçalho (seria portanto a primeira coisa a aparecer no código) e o rodapé apareceria depois do conteúdo. O header corresponde ao teu menu em flash. O rodapé estive a ler e parece que afinal não falas nele... :confused: Quanto a isso espero que tenhas entendido. Ou seja, header = código do menu flash. Supostamente esses códigos já estariam as divs, porque por este código (não pelo do joker, pelo que estou a interpretar como sendo o do joker) elas são inseridas em cima e em baixo. Logo, não escolhes pô-lo dentro das divs, mas sim colocas as próprias divs ou em cima ou em baixo. Ou seja, essas páginas teriam nelas as próprias divs. Tipo sandwich.

    HEADER [QUE CONTÉM CÓDIGO DA DIV]
    CONTEÚDO [DINAMICAMENTE ESCOLHIDO, COM DIV]
    FOOTER [QUE CONTÉM CÓDIGO DA DIV]

    JOKER por favor diz se estou a interpretar bem o que querias dizer ou não. Eu tentei explicar o teu código mas acho que se calhar já estou a acrescentar coisas...

    O switch... A página home deve-se ao seguinte facto: a variável pag pode estar definida ou não (daí o if(isset), para verificar se está definida ou não)... Se estiver, ela dir-nos-á qual é a página que queres ver (com o switch, que só é executado se a var pag estiver definida). Se não estiver definida é porque em vez de estar escrito index.php?pag=jogos está index.php apenas, o que significa que é a página inicial. Daí uma página home, ou seja, a inicial. Então é feito o include da home.php (no else do if(isset)).

    UMA COISA: esta é a minha tentativa de explicação (e ainda falta perceber se entendi bem) do método do Joker... Ainda não falei da minha!!! Que tanto pode ser visto como mais fácil ou mais difícil. Depois de conseguires dominar este método vês o meu (que, pessoalmente, é mais fácil porque consigo definir exactamente onde tudo fica).

    Portanto, quando tiveres este dominado, avisa para eu falar do meu :D

    PS: Não sou professor, tenho 17 anos e sou de um Curso de Ciências e Tecnologias. Gosto de programação como hobbie. Por isso é que estou a tentar explicar o método do Joker (até posso estar a aldrabar tudo): porque me dá imenso prazer falar disto. Obrigado pelo elogio e peço desculpa ao joker se lhe tirei esse prazer. :p
     
    Última edição: 13 de Fevereiro de 2008
  15. E ainda mais fácil para perceberes...

    E baseando-me na minha forma, arranjo-te uma forma mais simples de explicar a coisa e tal.

    Tens a tua estrutura toda montada, né? Imagina que a tua página é isto:
    Código:
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/URL]">
    <html xmlns="[URL]http://www.w3.org/1999/xhtml[/URL]">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Página Exemplo</title>
    </head>
    <body>
    <div>Header aqui cheio de menus e tal...</div>
    <div>Aqui é o conteúdo.</div>
    <div>Footer aqui</div>
    </body>
    </html>
    
    Passava, segundo este método mais simples, a isto:
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Página Exemplo</title>
    </head>
    <body>
    <div>Header aqui cheio de menus e tal...</div>
    <div>
    <?php
    if (isset($_GET['pag'])){
        switch (
    $_GET['pag']){
            case 
    "jogos":
              include 
    "jogos.php";
              break;    
           case 
    "forum":
              include 
    "forum.php";
              break;
           case 
    "asdfgh":
              include 
    "qwerty.php";
              break;
           default:
              include 
    "pagnencontrada.php";
              break;
            }
    }else{
        include 
    "home.php";
    //Se a var não estiver definida é porque o link está assim: http://www.teuurl.com/index.php
    }
    ?>
    </div>
    <div>Footer aqui</div>
    </body>
    </html>
    O que acontecerá? Dentro da div que tinhas estabelecido para ter o conteúdo será colocado o que estiver escrito nas páginas (jogos.php, forum.php, etc...) (continuando tudo segundo a variável pag).

    E assim, percebes mais facilmente? Supostamente era isto que o joker estava a falar. Se não era, aqui tens um 3º método. :D

    PS: Como tu vens continuo a escrever... Não tenho mais nada que fazer e então ponho-me a escrever isto...
     

Partilhar esta Página