Larguras variáveis com e sem módulos [template]

  • Uriel
  • Avatar de Uriel Autor do Tópico
  • Offline
  • JCB! Legend
  • JCB! Legend
Mais
11 anos 3 meses atrás #83535 por Uriel
Uriel created the topic: Larguras variáveis com e sem módulos [template]
Pergunta feita pelo Uziel Almeida no Facebook!

Gostaria de criar larguras variaveis para posições quando módulos não estiverem presentes. Exemplo: 4 posições no rodapé - se eu habilitar somente tres modulos quero que o rodapé assuma que o novo valor para largura é 33% e não mais 25%.....
Nota: o Artisteer tem isso e funciona com maestria:
<?php echo $view->positions(array('rodape1' => 33, 'rodape2' => 33, 'rodape3' => 34), 'pm-block'); ?>


Resposta encontrada pelo Marcos Canova e Uziel Almeida

<?
Consegui melhorar esta solução. Agora está 100%, e é possível escolher qualquer posição livremente. Como imaginava era preciso um pouco de matemática. Segue abaixo a solução testada e aprovada:
<?
//para as posições, cole isso no cabeçalho do template
$rodape1 = $rodape2 = $rodape3 = $rodape4 = 0;
if ($this->countModules( 'rodape1' )) $rodape1 = 1;
if ($this->countModules( 'rodape2' )) $rodape2 = 1;
if ($this->countModules( 'rodape3' )) $rodape3 = 1;
if ($this->countModules( 'rodape4' )) $rodape4 = 1;
$columns = $this->countModules( 'rodape1 + rodape2 + rodape3 + rodape4', true );
?>

<!-- Aqui começa o código de um exemplo de rodapé com 4 colunas auto ajustáveis -->

<div class="footer">
<div class="column1" style="width:<?php echo 100/$columns . '%';?>"> 
<jdoc:include type="modules" name="rodape1" style="xhtml" /> 
</div>
<div class="column2" style="width:<?php echo 100/$columns . '%';?>"> 
<jdoc:include type="modules" name="rodape2" style="xhtml" />
</div>
<div class="column3" style="width:<?php echo 100/$columns . '%';?>"> 
<jdoc:include type="modules" name="rodape3" style="xhtml" />
</div>
<div class="column4" style="width:<?php echo 100/$columns . '%';?>"> 
<jdoc:include type="modules" name="rodape4" style="xhtml" />
</div>
</div>

<!-- Fim do exemplo, formatações adicionais podem ser conseguidas colocando ajustes no css ou trocando o código mátemático da div com estilo inline por uma classe css -->

Obs: Fica mais funcional usando classes e não CSS inline .

abraço

Please Entrar ou Registrar to join the conversation.