A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Joomla para Iniciantes - Templates

Ter

6

Jan

2009


00:00

(37 votos, média 4.62 de 5) 


Escondendo divisórias vazias

A cada nova etapa descobrimos mais alguma coisa para arrumar. No ponto em que estamos agora, a coluna da direita está ocupando 20% da página sem conteúdo algum, ou seja, está "comendo" espaço" à toa. Para que a coluna só seja mostrada caso existam módulos à direita, vamos dar uma ajeitada no arquivo index.php usando a função countModules:

... countModules('right') { ?>

Fazendo esta alteração e visualizando novamente a página, o resultado é decepcionante :sad: Se não incluímos a divisória da direita, porque continuamos com o espaço em branco à direita da página? A resposta é muito simples: foi por que definimos a largura da coluna esquerda em 20% e a da coluna do meio em 60%. Para sair desta sinuca precisamos descobrir se a coluna da esquerda e a da direita possuem conteúdo e ajustar a largura da coluna do meio de acordo. A mesma função countModules vai quebrar o galho:

if( $this->countModules('left and right') == 0 ) $largura = "100"; if( $this->countModules('left or right' ) == 1 ) $largura = "80"; if( $this->countModules('left and right') == 1 ) $largura = "60";

Observe que enviamos os parâmetros 'left and right' e 'left or right'. Se a coluna coluna esquerda E a coluna direita (left and right) não tiverem conteúdo (==0), então a largura deve ser 100. Se uma das colunas tiver conteúdo (esquerda OU direita, left or right == 1), a largura deve ser 80 e, se as duas tiverem conteúdo (esquerda E direita, left and right == 1), a largura deve ser 60. Usamos este resultado para definir o estilo da coluna do meio no arquivo index.php:

... countModules('left') ) { ?>
countModules('left and right') == 0 ) $largura = "100"; if( $this->countModules('left or right' ) == 1 ) $largura = "80"; if( $this->countModules('left and right') == 1 ) $largura = "60"; ?>
countModules('right') ) { ?>
?>

A linha <div id="miolo<?php echo $largura; ?>">, na verdade, vai colocar na página id="miolo100", id="miolo80" ou id="miolo60". Estas ids precisam estar contempladas no arquivo CSS para que as propriedades das divisórias possam entrar em vigor:

#miolo100 { background-color: #ffffff; float: left; width: 100%; } #miolo80 { background-color: #ffffff; float: left; width: 80%; } #miolo60 { background-color: #ffffff; float: left; width: 60%; }

O resultado desta nova mexida, finalmente, é o esperado. Sei que o template que criamos ainda está uma droga: falta dar uma separadinha entre as colunas, a fonte está horrorosa, os itens do menu estão invadindo o texto do conteúdo e o próprio menu está deplorável, mas... o caminho das pedras foi mostrado. Todas as restrições que apontei são perfeitamente contornáveis se capricharmos na folha de estilos. O mais complicado, que é "domar" as divisórias para criar um template "elástico" sem o uso de tabelas, foi explicado. Vou mostrar o resultado final desta nossa jornada que deve ser apenas o começo para aqueles que querem enfrentar a criação seus próprios templates:


Template semi pelado 5

Num próximo tutorial vou explicar como dar um trato mais caprichado em templates e até como conseguir alguns efeitos especiais. Me aguardem.

Abraço da :vovo: vó

бесплатные деньги на покерказан чугунный для костралобановский александралександр лобановскийноутбук 17безвизовый режимтелефон никас

Informações adicionais