Jeg arbejder på et template til Joomla med bootstrap, men er løbet ind i nogle problemer. Min kammerat som skal benytte sig af dette template spørg om det er muligt at få selve templatet til automatisk at tilpasse sig efter hvor mange aktive modules der er.
Et eksempel kunne være at footeren er delt op i fire div tags, så hvis der er aktive modules i alle fire div-tags så vil de alle få en class="span3". Så når der kun er aktive modules i tre af de fire div-tags så vil de tre få "class="span4", og den sidste div-tag vil blive "deaktiveret" altså have en width på "0", eller være helt væk.
Jeg har rodet en del med HTML, CSS, men da jeg ikke har så god erfaring med if, else - så driller det mig ret meget.
Og så loope igennem det antal gange der er moduler i den position.
Hvis man gør det på den måde, så vil de ikke ændre på hvilken størrelse div-tagget får, så der vil derfor blot være en tom plads, i stedet for at de andre div-tags fylder den resterende plads ud. :)
Hvis man gør det på den måde, så vil de ikke ændre på hvilken størrelse div-tagget får, så der vil derfor blot være en tom plads, i stedet for at de andre div-tags fylder den resterende plads ud. :)
Okay, så modificerer vi den lidt i stedet for. Jeg er ikke 100% sikker på hvad du vil opnå, men jeg prøver noget. Jeg mener $this->countModules() indeholder selve antallet af moduler i en position. Så er det jo bare at lave tallet om til en % værdi og så loope igennem <div id="container"> <?php if ($this->countModules( 'user1' )) : $width = 100 / $this->countModules( 'user1')); // Udregn width i % for($i = 0; $i < $this->countModules( 'user1' ); $i = $i + 1) { ?> <div class="user1" style="width: <?php echo $i ?>%"> <jdoc:include type="modules" name="user1" style="rounded" /> </div> <?php } ?> <?php endif; ?> </div> Har ikke testet ovenstående, men det burde være noget ala dette.
*EDIT* fandt lige ud af, at det jo ikke er dette, der skal ske!!! nu gentager den bare jdoc:include
Beklager... Jeg går lige i tænkeboks :) Det er nok i modulets template fil, der skal ændres i.