PDA

Zobacz pełną wersję : Jak wyłączyć kolumnę na stronie startowej?



enrick27
25-08-2011, 12:24
Chciałbym na stronie startowej trzykolumnowego szablonu wyłączyć środkową kolumnę, bo mimo że jest pusta, to pozostaje biały pasek na całą szerokość strony. Na innych podstronach musi pozostać, bo znajduje się w niej text. Oto kod (pogrubionym zaznaczyłem to, co moim zdaniem wyświetla się na stronie głównej, a nie powinno):
<?php if ($this->countModules('left')) : ?>
<div id="leftbar-w">
<div id="sidebar">
<jdoc:include type="modules" name="left" style="jaw" />
</div>
</div>
<?php endif; ?>
<div id="comp_<?php echo $compwidth ?>">
<div id="comp-i">
<jdoc:include type="component" />
<?php include "html/template.php"; ?>
</div>
</div>
<?php if ($this->countModules('right')) : ?>
<div id="rightbar-w">
<div id="sidebar">
<jdoc:include type="modules" name="right" style="jaw" />
</div>
</div>
<?php endif; ?>

Proszę o poradę

Tor_
27-08-2011, 23:01
Funkcja mosCountModules została zastąpiona przez funkcję $this->countModules, w której dodano obsługę warunków. Pozwala to łatwo policzyć ilość modułów w wielu pozycjach szablonu tylko za pomocą jednej linii kodu, na przykład $this->countModules('user1 + user2'); która zwraca sumę ilości modułów w pozycjach user1 i user2.


<?php if($this->countModules('warunek')) : ?> zadania do wykonania <?php else : ?> lub zadania do wykonania <?php endif; ?>

Rybik kiedys to opisał
<?php if(mosCountModules('right') > 0) { ?>
<!-- Jezeli na pozycji right cos jest -->
<?php mosMainBody(); ?>
<?php mosLoadModules ( 'right'); ?>
<?php } else { ?>
<!-- Jezeli na pozycji right nic nie ma -->
<?php mosMainBody(); ?>
<?php } ?>

enrick27
28-08-2011, 15:15
Wstawiłem taki kod:
<div id="comp_<?php echo $compwidth ?>">
<div id="comp-i">
<?php if ($this->countModules( 'left or right' )): ?>
<jdoc:include type="component" />
<?php include "html/template.php"; ?>
</div>
</div>

Ta stronie startowej nie ładuje się już niepotrzebny div. Przydałoby się jeszcze dodać warunek, aby byłoby to tylko na stronie startowej.