PDA

Zobacz pełną wersję : Ukrycie diva gdy pusty - walka



pogo84
14-01-2010, 13:09
Witam, zanim się zarejestrowałem na forum czytałem wiki, posty na forum polskim jak i angielskim i niestety nie poradzilem sobie z moim problemem...

strona posiada 2 kolumny, chciałbym na stronie głównej aby były 2 ale już na podstronach sam content. Zabrałem się do zmian i

w sekcji head wpisałem


<?php
if($this->countModules('right') == 0) $szercontent = "2";
if($this->countModules('right') >= 1) $szercontent = "1";
?>

dalej w body oznaczyłem diva sidebar1


<?php if($this->countModules('right')) : ?>
<div class="sidebar1">
<jdoc:include type="modules" name="right" style="artblock" />

</div>
<?php endif; ?>


w css dodane linijki:

#szercontent2 {width: 100%;}
#szercontent1 {width: 675px;}

i lipa, nie działa, jeżeli ustawie w css na stałe content width: 100% to sidebar1 ucieka na spód strony, w czym tkwi problem ?

Dzięki za każdą radę!

moje
14-01-2010, 13:27
Bo to nie tak.
Poprawnie:
<style>
<?php {warunek dla braku modułu czyli 100% szerokości} ?>
styl css dla 100% szerokości
<?php {pozostałe} ?>
styl css dla mniej jak 100% szerokości
</style>

pogo84
14-01-2010, 13:44
zrobiłem tak jak wyzej opisalem ale brakowalo jednej instrukcji, teraz działa :)

- sekcja <head>

<?php
if($this->countModules('right') == 0) $contentwidth = "2";
if($this->countModules('right') >= 1) $contentwidth = "1";
?>

- dalej zmiana instrukcji w content z

<div class="content">

na

<div class="content<?php echo $contentwidth; ?>">

- oznaczenie prawej kolumny
zmiana z:

<div class="sidebar1"><jdoc:include type="modules" name="right" style="artblock" /></div>

na

<?php if($this->countModules('right')) : ?>
<div class="sidebar1">
<jdoc:include type="modules" name="right" style="artblock" />

</div>
<?php endif; ?>

- dodanie do css

.content2 {width: 900px; ...}
.content1 {width: 675px; ...}


Może się przyda dla potomnych ;)