PDA

Zobacz pełną wersję : Wygląd modułu Popular



Jdwind
13-10-2007, 07:38
Witam, gdzie można zmienić wygląd listy w module popular albo latest news? Czytałem, że można też stworzyć własną klasę w pliku templatki, ale może wystarczy tylko zmiana wyglądu w pliku (tylko którym)?
Pozdrawiam, Jacek.

Qbitsu
13-10-2007, 12:38
Za wygląd tych list odpowiadają w CSS klasy: ul.mostread i li.mostread za moduł Popular, a ul.latestnews i li.latestnews za moduł Latest News.
Pozdrawiam

Jdwind
14-10-2007, 10:23
Rozumiem, że jak ich nie mam w pliku templatki .css to mam to sobie dodać, i później jeszcze w pozycjach modułów na stronie? Może mi ktoś jaśniej podpowiedzieć, jak to mam zrobić?
Pozdrawiam.

Qbitsu
14-10-2007, 13:58
W plikach tych modułów te klasy są już zdefiniowane, są to pliki mod_mostread.php i mod_latestnews.php (obydwa w katalogu modules). Natomiast klasy, które napisałem w poprzednim poście musisz wpisać w pliku CSS swojej templatki (jeśli takich nie ma zdefiniowanych to je utworzyć) i wszystko. W konfiguracji modułu jest pozycja Przyrostek klasy CSS modułu, ale odnosi się on do klasy CSS opisującej wygląd modułu a nie listy w tym module.
Pozdrawiam

Jdwind
14-10-2007, 14:29
To rozumiem i sprawa jasna. Prosiłem tylko o pomoc, co mam zrobić w pliku templatki css. Czy coś takiego np. będzie dobrze (nie chodzi o treść, tylko o formę)?:

table.moduletable-latestnews td {
font-size: 10px;
padding: 0px;
margin: 0px;
font-weight: normal;

Jeżeli to wystarczy, to co mam dalej zrobić, żeby to przypiąć do modułu latestnews? W ustawieniach modułu wpisuję przyrostek klasy, czyli "-latestnews td" i wystarczy?
Pozdrawiam.

zwiastun
14-10-2007, 14:34
Klasa z przyrostkiem nie jest potrzebna. Zadeklaruj w css reguły wyświetlania:
latestnews ul, .mostread ul {/*formatuje cały blok listy */}
.latestnews li, .mostread li{/*formatuje element listy */}
.latestnews a:hover,.mostread a:hover {/*formatuje odnośnik, gdy wskaźnik myszki nad*/}

Jdwind
14-10-2007, 15:39
Albo coś znowu źle robię, albo nie zrozumiałem za dobrze. W pliku css mojej templatki zadeklarowałem klasy:

.latestnews ul, .mostread ul {
padding: 2px;
}
.latestnews li, .mostread li{
font-size: xx-small;
padding-left: 1px;
text-align: left;
}
.latestnews a:hover,.mostread a:hover {
text-align: center;
}
I mimo tego dalej mi się wyświetla, tak jak wcześniej. Próbowałem dać ikonkę ze strzałką z przodu i mi się wyświetliła, przynajmniej wiem, że coś już jest dobrze ;). I może nie czepiałbym się tego, ale mam wywalony odstęp od lewej strony jak tabulatorem, przez co muszę zwiększać szerokość modułów po prawej stronie.

A wygląda to tak:
link (http://www.fotosik.pl/pokaz_obrazek/3532a3d55863b42d.html)

zwiastun
14-10-2007, 17:48
Zlikwiduj naturalne w listach wcięcia z lewej (padding)

Jdwind
14-10-2007, 19:03
Przepraszam, bo może nie wyraziłem się jasno. Padding, który ja wpisałem "nie działa". Czy on jest w tej mojej deklaracji czy nie, czy ma wartość 0 lub 10 nie ma znaczenia. Tak, jakby te moje deklaracje nie działały. I dlatego mówię, że nie mam najzieleńszego pojęcia, skąd te moduły biorą wartości. W katalogu Modules, w plikach php dla mostread i latestnews nie mam takich wpisów. W pliku templatki nigdzie nie mam takiej dużej wartości padding, więc nie tędy droga. Gdzie jeszcze mogę szukać?
Pozdrawiam i dzięki za cierpliwość.

zwiastun
14-10-2007, 20:06
Masz do dyspozycji dwie właściwości - padding i margin. No i pamiętaj o kaskadzie - jeśli najpierw określisz reguły dla tych klas, a później dla zwykłego ul i li, to wcześniej ustalone wartości zostaną zniwelowane

http://www.pomoc.joomla.pl/content/view/654/46/

Jdwind
14-10-2007, 21:51
Wymiękam na razie.. Zadeklarowałem w pliku template_css.css tak:

.latestnews ul, .mostread ul {
list-style-type: circle;
}
.latestnews li, .mostread li{
font-size: xx-small;
padding-left: 1px;
text-align: left;
}
a.latestnews:hover, a.mostread:hover {
text-align: center;
}

i to nie daje nic a nic. Doszedłem tylko, że na stronie, w modułach latestnews i popular wyświetlana jest lista odnośników. Wiem, gdzie mogę zmieniać czcionkę w nich (odnośnikach), ale jak pozbyć się marginesu i zmienić np. wypunktowanie już nie. Deklaracja w pliku wygląda tak (odnośników):

a, a:visited {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: x-small;
color: #E88000;
text-decoration: none;
}
a:hover {
color: #666666;
text-decoration: none;
}

Nie ma tu nigdzie padding ani margin. Dalej już nie wiem, co robić.
Pozdrawiam.

zwiastun
14-10-2007, 22:45
To je sobie dopisz i pokombinuj. Dałem Ci odnośnik

Jdwind
14-10-2007, 22:55
Wiem, jeszcze próbuję. Ale siedziałem dzisiaj od rana nad stroną cały dzień, i już nie myślę racjonalnie ;). Jak coś wymyślę, dam znać.
Dzięki i pozdrawiam.

Edit: powiem tak - spróbowałem jeszcze wg wskazówek z pomocy dokładnie. Zmieniłem styl wypunktowania, kolor i rozmiar tekstu itd. Ale, pomimo tego, że wpisywałem wartości padding i margin na 0 odnośniki w modułach ani drgnęły. Dalej są "wytabulowane" na pół modułu. Ani poniżej, ani powyżej w pliku templatki nie mam wartości margin lub padding tak dużej, żeby to było aż takie wysunięcie. Idę spać ;)
Pozdrawiam.

Jdwind
16-10-2007, 00:01
Tak się zastanawiam, bo że to nie jest wina listy, wiem już na 100%. Zadeklarowałem listy tak jak powinny być i tak - zmieniam wypunktowanie, kolor, wysokość itd. i jest ok. Margines lewy jak był, tak dalej jest wcięty. Stworzyłem sobie klasę dla tabeli modułu:

.moduletable-latestnews td{
width: 100%;
margin-bottom: 0px;
text-align: left;
font-family: Verdana,Helvetica,Arial,sans-serif;
font-size: 10px;
text-indent: 0px;
}

i jak zmieniam text-align na center lub right zmienia swoją pozycję. Ale lewa pozostaje wcięta głęboko. Więc nie tędy była droga rozwiązania. Tylko gdzie dalej szukać? Zauważyłem, że tak wcięte są moduły popular, latestnews i syndicate. Wszystkie mają pozycje ustawione na left i mają tak głębokie wcięcia. Gdzie jeszcze mogą być te ustawienia?
Jacek.

zwiastun
16-10-2007, 02:47
Daj jakiś link do arkusza stylów, bo "ćma taka, że nic nie widać".
A tak w ogóle:
1. wyzerowałeś na początku arkusza stylów marginesy i odstępy? Masz taką regułę:
*,input,select {margin:0;padding:0}
2. Sprawdziłeś, jak wyświetlane są listy punktowana i numerowana w artykułach oraz w innych pozycjach modułów?
3. Nie masz zadanych odstępów lub marginesów w regułach dla klas bloków obejmujących te moduły?

Jdwind
16-10-2007, 09:48
Witam, mogę albo wkleić tutaj zawartość pliku, albo przesłać na maila (mój jdwind@o2.pl), a to z tego powodu, że stronę na razie "męczę" lokalnie. Ale to po południu, bo robię to w domu. Co do reszty pytań:
1. jeszcze raz przejrzę, ale na 95% mam padding i margin ustawione w body na 0,
2. list w sumie nie mam, ale zauważyłem, że wszystkie odnośniki na stronie mają wcięcie od lewej (pomimo zdefiniowania ich ustawień w pliku templatki, o czym pisałem wyżej - deklaracja a, a:hover itd),
3. Nie mam. Pozostałe moduły korzystają z table.moduletable th i td i tu wszystko wygląda tak jak powinno. Menu jest wyświetlane w porządku, z wyrównaniem do lewej z marginesem.
Wygląda to tak, jakby wartości ustawień dla odsyłaczy były pobierane skądś nadrzędnie. Tylko nie wiem skąd.

Pozdrawiam.

Jdwind
16-10-2007, 10:46
ZWIASTUN - jesteś Wielkim Człowiekiem, szacunek dla Twojej Wiedzy, ukłony dla Ciebie. Wiem, jak to brzmi, ale naprawdę Ci dziękuję. Pomogło to:
*,input,select {margin:0;padding:0}

Wcześniej miałem tylko zadeklarowane:
margin: 0px 0px 0px 0px;
padding: 0px;

ale nic nie dawało.
Dziękuję raz jeszcze za rozwiązanie problemu i pozdrawiam. Temat zamknięty.
Jacek.