Chrisx2
10-01-2007, 11:52
Witam
Używam szablonu jll_hammokstudios (http://www.joomlademo.de/index.php?mos_change_template=jll_hammokstudios_i) (tu podgląd live).
Działa pięknie.
Na samym dole są widoczne trzy moduły.
Szablon jest tak zrobiony, że te moduły rozciągają się automatycznie. Tzn. Jak jest opublikowany tylko 1, to zajmuje całą szerokość, jak dwa to się dzielą, podobnie jak trzy.
Chciałbym przenieść cały ten blok z trzema modułami do góry w miejsce centralne. Po lewej jest lewy blok, po prawej prawy, a ten trzymodułowy ma się wyświetlać pomiędzy nimi. Dopiero pod nim mają się wyświetlać artykuły.
Problem w tym, że trzeci moduł (z tego trzypack'a) ucieka pod spód zamiast się ustawić w jednej linii z pozostałymi dwoma.
Jak są na dole to ustawiają się równo w jednej linii i dobrze się rozciągają.
Nawet jeśli ustawię je, że są bardzo wąskie i za drugim jest sporo miejsca, to i tak ten trzeci schodzi do kolejnej linii.
To jest wycinek z szablonu:
<div id="topbodywidth-1024">
<!--USERSCODE - Adjust size of user1,2,5 columns depending on which is published-->
<?php
if (mosCountModules( "user1" ) & mosCountModules( "user2" ) & mosCountModules( "user5" )) $user_width=33; //all three
else if ( //only two
(mosCountModules( "user1" ) & mosCountModules( "user2" )) |
(mosCountModules( "user5" ) & mosCountModules( "user2" )) |
(mosCountModules( "user5" ) & mosCountModules( "user1" ))
) $user_width=50;
else if ( //only one
(mosCountModules( "user1" )) |
(mosCountModules( "user2" )) |
(mosCountModules( "user5" ))
) $user_width=100;
else $user_width=0; //none
if ($user_width != 0) { //if something is published run this code, else skip it
?>
<div id="articlelinkmenus">
<?php if (mosCountModules( "user1" )) { ?>
<div id="user1_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user1',-2); ?>
</div>
<?php } ?>
<?php if (mosCountModules( "user2" )) { ?>
<div id="user2_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user2',-2); ?>
</div>
<?php } ?>
<?php if (mosCountModules( "user5" )) { ?>
<div id="user5_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user5',-2); ?>
</div>
<?php } ?>
</div>
<?php } ?>
<!--USERSCODE END-->
</div> A to z css:
#topbodywidth-1024 {
Width:590px;
text-align:left;
margin-left:0;
margin-right:auto;
margin-top: 0px;
background-color: #fff;
padding:2px;
}
#user1_33 {
float:left;
width:33.3%;
}
#user2_33 {
float:left;
width:33.2%;
border-left:1px dotted #ccc;
}
#user5_33 {
float:left;
width:33.2%;
border-left:1px dotted #ccc;
}
#user1_50 {
float:left;
width:50%;
}
#user2_50 {
float:left;
width:49.8%;
border-left:1px dotted #ccc;
}
#user5_50 {
float:left;
width:49.8%;
border-left:1px dotted #ccc;
}
#user1_100 {
width:100%;
}
#user2_100 {
width:100%;
}
#user5_100 {
width:100%;
}
Próbowałem zmieniać szerokość tego div'a, w którym się mieszczą, jak i samych modułów. Zmienia się ich szerokość, ale nie powoduje to ustawienia się w jednej linii poziomej wszystkich trzech. Dwa tak, a trzeci złazi na pod spód.
Jak zrobić, żeby się ustawiły w jednej linii? Dlaczego jak są na dole to się ustawiają, a tu nie?
Używam szablonu jll_hammokstudios (http://www.joomlademo.de/index.php?mos_change_template=jll_hammokstudios_i) (tu podgląd live).
Działa pięknie.
Na samym dole są widoczne trzy moduły.
Szablon jest tak zrobiony, że te moduły rozciągają się automatycznie. Tzn. Jak jest opublikowany tylko 1, to zajmuje całą szerokość, jak dwa to się dzielą, podobnie jak trzy.
Chciałbym przenieść cały ten blok z trzema modułami do góry w miejsce centralne. Po lewej jest lewy blok, po prawej prawy, a ten trzymodułowy ma się wyświetlać pomiędzy nimi. Dopiero pod nim mają się wyświetlać artykuły.
Problem w tym, że trzeci moduł (z tego trzypack'a) ucieka pod spód zamiast się ustawić w jednej linii z pozostałymi dwoma.
Jak są na dole to ustawiają się równo w jednej linii i dobrze się rozciągają.
Nawet jeśli ustawię je, że są bardzo wąskie i za drugim jest sporo miejsca, to i tak ten trzeci schodzi do kolejnej linii.
To jest wycinek z szablonu:
<div id="topbodywidth-1024">
<!--USERSCODE - Adjust size of user1,2,5 columns depending on which is published-->
<?php
if (mosCountModules( "user1" ) & mosCountModules( "user2" ) & mosCountModules( "user5" )) $user_width=33; //all three
else if ( //only two
(mosCountModules( "user1" ) & mosCountModules( "user2" )) |
(mosCountModules( "user5" ) & mosCountModules( "user2" )) |
(mosCountModules( "user5" ) & mosCountModules( "user1" ))
) $user_width=50;
else if ( //only one
(mosCountModules( "user1" )) |
(mosCountModules( "user2" )) |
(mosCountModules( "user5" ))
) $user_width=100;
else $user_width=0; //none
if ($user_width != 0) { //if something is published run this code, else skip it
?>
<div id="articlelinkmenus">
<?php if (mosCountModules( "user1" )) { ?>
<div id="user1_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user1',-2); ?>
</div>
<?php } ?>
<?php if (mosCountModules( "user2" )) { ?>
<div id="user2_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user2',-2); ?>
</div>
<?php } ?>
<?php if (mosCountModules( "user5" )) { ?>
<div id="user5_<?php echo $user_width; ?>">
<?php mosLoadModules ( 'user5',-2); ?>
</div>
<?php } ?>
</div>
<?php } ?>
<!--USERSCODE END-->
</div> A to z css:
#topbodywidth-1024 {
Width:590px;
text-align:left;
margin-left:0;
margin-right:auto;
margin-top: 0px;
background-color: #fff;
padding:2px;
}
#user1_33 {
float:left;
width:33.3%;
}
#user2_33 {
float:left;
width:33.2%;
border-left:1px dotted #ccc;
}
#user5_33 {
float:left;
width:33.2%;
border-left:1px dotted #ccc;
}
#user1_50 {
float:left;
width:50%;
}
#user2_50 {
float:left;
width:49.8%;
border-left:1px dotted #ccc;
}
#user5_50 {
float:left;
width:49.8%;
border-left:1px dotted #ccc;
}
#user1_100 {
width:100%;
}
#user2_100 {
width:100%;
}
#user5_100 {
width:100%;
}
Próbowałem zmieniać szerokość tego div'a, w którym się mieszczą, jak i samych modułów. Zmienia się ich szerokość, ale nie powoduje to ustawienia się w jednej linii poziomej wszystkich trzech. Dwa tak, a trzeci złazi na pod spód.
Jak zrobić, żeby się ustawiły w jednej linii? Dlaczego jak są na dole to się ustawiają, a tu nie?