Programação errada

Forum destinado aos programadores que pretendem utilizar o framework do Joomla! 1.5 para fazer suas próprias extensões
lapis2006
Novato
Mensagens: 13
Registrado em: 29 Jan 2009, 10:05
Localização: Em frente ao Pc
Contato:

Programação errada

Mensagem por lapis2006 »

Olá a todos!

Eu sou muito leigo em programação mas tentei arriscar um código mas infelizmente deu errado...

Estou criando um template onde preciso de 3 modulos um ao lado do outro. Mas gostaria que quando um deles não estivessem ativos os outros ficassem com 50% de largura cada... se os 3 estiverem ativados cada um deles ficassem com 33%¨, então tentei desenvolver esse código apartir de um outro que eu peguei mas infelizmente não está dando certo..
Será que alguem pode me ajudar?

Este é o código:

Código: Selecionar todos

<?php 
if($this->countModules('modulo-1 and modulo-2 and modulo-3') == 1) $modulo_width_ = "33";  	// se modulo 1, modulo 2 e modulo 3 estiverem ativos = 33% para cada 1
if($this->countModules('modulo-1 or modulo-2 or modulo-3') == 1) $modulo_width_ = "100";   	// se modulo 1 ou modulo 2 ou modulo 3 estiverem ativos = 100% para o que estiver ativo
if($this->countModules('modulo-1 and modulo-2') == 1) $modulo_width_ = "50"; 				// se modulo 1 ou modulo 2 estiver ativo os dois estarão com 50%¨cada
if($this->countModules('modulo-1 and modulo-3') == 1) $modulo_width_ = "50";				// se modulo 1 ou modulo 3 estiver ativo os dois estarão com 50%¨cada
if($this->countModules('modulo-2 and modulo-3') == 1) $modulo_width_ = "50";				// se modulo 2 ou modulo 3 estiver ativo os dois estarão com 50%¨cada
?> 
Este é a parte dos módulos no html:

Código: Selecionar todos

<?php if($this->countModules('modulo-1')) : ?>
			<div id="modulo_width_<?php echo $modulo_width_; ?>"> 
				<jdoc:include type="modules" name="modulo-1"/>
			</div>
		<?php endif; ?>
		
		<?php if($this->countModules('modulo-2')) : ?>
			<div id="modulo_width_<?php echo $modulo_width_; ?>"> 
				<jdoc:include type="modules" name="modulo-2"/>
			</div>
		<?php endif; ?>
		
		
		<?php if($this->countModules('modulo-3')) : ?>
			<div id="modulo_width_<?php echo $modulo_width_; ?>"> 
				<jdoc:include type="modules" name="modulo-3"/>
			</div>
		<?php endif; ?>
		

E este é o CSS:

Código: Selecionar todos

#modulo_width_33
					{
						width:25%; 
						float:left; 
						padding:10px; 
						margin:10px 0;				
					}
					
#modulo_width_50
					{
						float:left;  
						margin: 0 5px 0 0;
						overflow:hidden;			
						padding:10px 5px;
						text-align:justify; 
						width:46%;
					
					}
#modulo_width_100
					{
						float:left;  
						margin: 0 5px 0 0;
						overflow:hidden;			
						padding:10px 5px;
						text-align:justify;
						width:100%;
					
					}
					
O que acontece é que quando estão os 3 ativados ele coloca o código css como se estivessem 2 ... o certo seria colocar 33% para cada e está colocando 50%.. Infelizmente o problema é esse...
Alguem pode me ajudar?

Desde já agradeço!
lapis2006
Novato
Mensagens: 13
Registrado em: 29 Jan 2009, 10:05
Localização: Em frente ao Pc
Contato:

Re: Programação errada

Mensagem por lapis2006 »

Oi, um amigo meu esteve me ajudando e ele conseguiu mexer até este ponto:

Código: Selecionar todos

<?php
if ($this->countModules('modulo-1 and modulo-2 and modulo-3') == 1) {
	$modulo_width_ = "33";      // se modulo 1, modulo 2 e modulo 3 estiverem ativos = 33% para cada 1
} elseif ($this->countModules('modulo-1 and modulo-2') == 1) {
	$modulo_width_ = "50";                 // se modulo 1 ou modulo 2 estiver ativo os dois estarão com 50%¨cada
} elseif ($this->countModules('modulo-1 and modulo-3') == 1) {
    $modulo_width_ = "50";                // se modulo 1 ou modulo 3 estiver ativo os dois estarão com 50%¨cada
} elseif ($this->countModules('modulo-2 and modulo-3') == 1) {
	$modulo_width_ = "50";                // se modulo 2 ou modulo 3 estiver ativo os dois estarão com 50%¨cada
} else {
	$modulo_width_ = "100";       // se modulo 1 ou modulo 2 ou modulo 3 estiverem ativos = 100% para o que estiver ativo
}
?>
Mas infelizmente a página continua dando erro.. Alguém pode me ajudar?
Responder