PDA

Zobacz pełną wersję : Szablon rhuk milkyway / rozszerzenie lewej kolumny



zszalbot
26-04-2009, 20:35
Witam,

Korzystam z szablonu rhuk milkyway i postanowiłem zmodyfikować stronę główną. Generalnie szablon korzysta z trzech kolumn. Left, w której jest menu, kolumny środkowej, w której są artykuły publikowane na stronie głównej oraz treść wszystkich innych artykułów oraz right, w której są np. ankiety, itp. Taki jest domyślny układ tego szablonu. Zamarzyło mi się, by lewa kolumna była tej samej szerokości co środkowa, natomiast prawa kolumna ma pozostać bez zmian.

W pliku templates.css jest deklaracja kolumny left:


#leftcolumn {
padding: 0;
margin: 0;
width: 20%;
float:left;
}

W związku z tym zwiększyłem jej szerokość do 40%.

Następnie jest kolumna maincolumn


#maincolumn_full {
margin-left: 20%;
padding-left: 15px;
width: 75%;
}

O ile zmniejszenie szerokości tej kolumny do 55% sprawia, że całość jeszcze jako tako wygląda w FF i Chrome, to w IE artykuły wyświetlane są dopiero w miejscu, w którym w lewej kolumnie kończy się tekst (patrz poniżej).

LEFT
LEFT
LEFT

MAIN COLUMN | RIGHT COLUMN

Fajnie byłoby, gdy udało się zrobić tak:

LEFT (40%) | MAIN COLUMN (40%) | RIGHT COLUMN (20%)

Czy mógłbym liczyć na sugestie w tej sprawie jak tego dokonać? To jest chyba kwestia zmiany jakichś dodatkowych parametrów w template.css, ale nie wiem których. Sprawdziłem wszystkie deklaracje, gdzie jest nazwa column, ale nigdzie nie widzę ustawienia szerokości. Aha szablon ustawiłem na stałą szerokość 950px (medium).

Z góry dziękuję za wskazówki!

Pozdrawiam,

zwiastun
26-04-2009, 20:46
Jeśli width w #left zwiększyłeś do 40%, to:
#maincolumn,
#maincolumn_full {
margin-left: 40%;
padding-left: 15px;
width: 55%;
}

zszalbot
26-04-2009, 21:09
Jeśli width w #left zwiększyłeś do 40%, to:
#maincolumn,
#maincolumn_full {
margin-left: 40%;
padding-left: 15px;
width: 55%;
}

Serdecznie dziękuję! :) Teraz widzę, że w szablonie nie ma możliwości określenia szerokości prawej kolumny. Bo przecież maincolumn_full określa całą szerokość strony oprócz kolumny left?

zszalbot
27-04-2009, 10:24
Serdecznie dziękuję! :) Teraz widzę, że w szablonie nie ma możliwości określenia szerokości prawej kolumny. Bo przecież maincolumn_full określa całą szerokość strony oprócz kolumny left?

Jeśli ktoś miałby pomysł jak zmienić szerokość lewej i środkowej kolumny, to z góry bardzo dziękuję za sugestie!

zwiastun
27-04-2009, 11:53
Przecież rozwiązanie, które Ci podałem, działa. Co prawda nie wygląda to najlepiej - prawa kolumna jest zbyt wąska, a moduły w lewej "rozsypują się" z powodu za wąskich obrazków, ale a) można zmniejszyć wymyśloną szerokość np. do 35% b) można poszerzyć obrazki c) rozważyć, czy w takim układzie jest sens dodawać prawą kolumnę.
W tym szablonie szerokości kolumn ustalane są procentowo, prawa ma tyle szerokości, ile jej zostanie miejsca.

zszalbot
27-04-2009, 11:59
Przecież rozwiązanie, które Ci podałem, działa. Co prawda nie wygląda to najlepiej - prawa kolumna jest zbyt wąska, a moduły w lewej "rozsypują się" z powodu za wąskich obrazków, ale a) można zmniejszyć wymyśloną szerokość np. do 35% b) można poszerzyć obrazki c) rozważyć, czy w takim układzie jest sens dodawać prawą kolumnę.
W tym szablonie szerokości kolumn ustalane są procentowo, prawa ma tyle szerokości, ile jej zostanie miejsca.

Tak, zgadza się działa i nie wygląda to zbyt dobrze. Poza tym, nie jestem pewien czy wszystkie kolumny sa ustawione procentowo... To znalazłem w index.php tego szablonu.


<td width="170"><jdoc:include type="modules" name="right" style="xhtml"/></td>

Czyli jednak prawa kolumna nie może mieć mniej niż 170...?

ZS

zwiastun
27-04-2009, 12:07
Nie zwróciłem na to akurat uwagi, ale to nie zmienia reguł, możesz tu ustalić szerokość prawej kolumny (nie ma zbytniego sensu dalsze jej zwężanie, choć pewno jeszcze da się nieco okroić)
zasada konstrukcji jest mniej więcej taka:
strona ma szerokość ustalaną w konfiguracji, z czego szablon przewiduje:

20% szerokości-170px na lewą kolumnę, 75%szerokosci-170px na kolumnę centralną, 170px prawą kolumnę, 5% szerokości (-170px) na marginesy i dopełnienia). Zwiększając lewą kolumnę, trzeba zwiększyć margines w #maincolumn, bo lewa kolumna jest umieszczona na marginesie.

zszalbot
27-04-2009, 12:36
Nie zwróciłem na to akurat uwagi, ale to nie zmienia reguł, możesz tu ustalić szerokość prawej kolumny (nie ma zbytniego sensu dalsze jej zwężanie, choć pewno jeszcze da się nieco okroić)
zasada konstrukcji jest mniej więcej taka:
strona ma szerokość ustalaną w konfiguracji, z czego szablon przewiduje:

20% szerokości-170px na lewą kolumnę, 75%szerokosci-170px na kolumnę centralną, 170px prawą kolumnę, 5% szerokości (-170px) na marginesy i dopełnienia). Zwiększając lewą kolumnę, trzeba zwiększyć margines w #maincolumn, bo lewa kolumna jest umieszczona na marginesie.

Bardzo dziękuję za wyjaśnienia! Ten szablon pod względem rozłożenia treści chyba jednak jest średnio zaprojektowany. Niemniej zastanawiam się czy byłaby jakaś inna możliwość, żeby na stronie głównej mieć 3 kolumny.

Chodzi mi o to, że treść kolumny z lewej powinna być wyświetlana tylko na stronie głównej. To nie problem, ale zawartość lewej kolumny na stronie raczej rzadko się będzie zmieniać (typowe intro typu kim jesteśmy). można by np. wykorzystać moduł mod_custom, by taki tekst przygotować. Sęk tylko w tym jak go wyświetlić w lewej kolumnie na stronie głównej.

zwiastun
27-04-2009, 12:44
1. No tak, z trzech standardowych wybrałeś, niestety, najgorszy - najlepszym wyborem jest Beez, bo opracowano w nim niemal komplet szablonów nadpisujących standardowe formatki.
2. Dwa warianty szablonu, jeden dla strony otwierającej, drugi dla pozostałych albo szablon. Milkyway też może mieć na stronie otwierającej dwie kolumny, to akurat jest w możliwościach tego szablonu.

zszalbot
27-04-2009, 13:03
Milkyway też może mieć na stronie otwierającej dwie kolumny, to akurat jest w możliwościach tego szablonu.

Hej Zwiastun - bardzo, bardzo dziękuję za pomoc. Udało mi się serwis jako tako poustawiać. Ale wsparcie, które człowiek otrzymuje na tym forum jest bezcenne! Dziękuję Tobie i wszystkim innym zaangażowanym w prowadzenie tego forum!

zwiastun
27-04-2009, 13:24
Dziękuję, ale mnie tego akurat mówić nie trzeba - natomiast przydałaby się czasem rozsądna reakcja na takie wypowiedzi, jak w poniższym wątku:
http://forum.joomla.pl/showthread.php?p=114166#post114166