Die countModules Methode kann in einem Template dazu benutzt werden die Anzahl von aktiven Modulen einer Position zu regeln. Es wird also ein HTML-Tag nur dann angesprochen wenn mindestens ein Modul in dieser Position geladen wird. Somit verhindert man das leere Stellen im Template geladen werden und es zu Darstellungsfehlern wie “collapsing columns” kommt.
Zum Beispiel läd der folgende Code Module für die Position "user1" - jedoch nur wenn mindestens ein Modul für diese Position aktiviert ist.
<?php if ($this->countModules( 'user1' )) : ?> <div class="user1"> <jdoc:include type="modules" name="user1" style="rounded" /> </div> <?php endif; ?>
Oder etwas komplexer - Wir haben zwei Modulpositionen und wollen beide ausblenden wenn keine Module geladen werden.
<?php if ($this->countModules( 'user1 or user2' )) : ?> <div class="rightcolumn"> <jdoc:include type="modules" name="user1" style="xhtml" /> <jdoc:include type="modules" name="user2" style="xhtml" /> </div>
Wenn in der linken Spalte keine Module geladen werden, dann wird die Hauptspalte "maincolumn_full" geladen. Sonst nur die schmalere "maincolumn".
<div id="leftcolumn"> <?php if($this->countModules('left')) : ?> <jdoc:include type="modules" name="left" style="rounded" /> <?php endif; ?> </div>
<?php if($this->countModules('left')) : ?> <div id="maincolumn"> <?php else: ?>
<div id="maincolumn_full"> <?php endif; ?> ... CONTENT ... </div>