20.04.2015 o 15:20

Jak zrobić kolumnę boczną w szablonie Joomla?

Nie wiesz jak zrobić kolumnę, która w momencie gdy nie posiada żadnej treści nie będzie wyświetlana? Oto właśnie jest artykuł w którym to pokażę wam jak to zrobić.

Nie będę opisywał całego kodu index.php, ale tylko ten konkretny przykład. Powiedzmy, że mamy stronę na której po lewej stronie chcemy mieć treść główną, a po prawej stronie chcemy mieć kolumnę na dodatkową treść, np. jakieś komponenty. Coś w tym stylu:

treść główna
kolumna

Treść główną zawsze oznaczamy w taki sposób:
<jdoc:include type="message" />
<jdoc:include type="component" />

A dodatkowe komponenty:
<?php if($this->countModules('SRODEK-PRAWA')) : ?>
    <div id="centerRight">
        <jdoc:include type="modules" name="SRODEK-PRAWA" style="xhtml" />
    </div>
<?php endif; ?>

Jakiś DIV w którym jest moduł. W $this->countModules('nazwa') sprawdza czy istnieje przypisany jakiś komponent, jeśli tak to wyświetla DIV-a i zawartość modułu.

Za miejsce wyświetlania modułu odpowiada <jdoc:include... />

Aby działało, to wszystko tak jak chcemy musimy, połączyć obie części.
Na początek musimy sprawdzić czy do komponentu jest przypisana jakaś treść. Jeśli tak, to wyświetli kolumnę i treść główną, a jak tylko treść główna, to tylko ją.

Ja to robię w taki sposób:
    <?php if($this->countModules('SRODEK-PRAWA') > 0) { ?>
        <div id="centerLeft">
            <jdoc:include type="message" />
            <jdoc:include type="component" />
        </div>
        <?php }else{ ?>
        <div id="centerLeft100">
            <jdoc:include type="message" />
            <jdoc:include type="component" />
        </div>
<?php
}
if($this->countModules('SRODEK-PRAWA') > 0) { ?>
        <div id="centerRight">
<?php if($this->countModules('SRODEK-PRAWA')) : ?>
    <div id="centerRightMod">
        <jdoc:include type="modules" name="SRODEK-PRAWA" style="xhtml" />
    </div>
<?php endif; ?>
        </div>
<?php } ?>

Gdzie id centerLeft100, to DIV, który ma szerokość 100%, a centerLeft wyświetlany jest gdy podepniemy jakąś treść do prawej kolumny i wtedy ma inną szerokość.

To tyle, myślę, że jak sami sprawdzicie, to się przekonacie jak to działa.

Komentarze
© 2010 - 2024 - Karol Drąg
Wszelkie prawa zastrzeżone
Polityka plików cookies