Skocz do zawartości


Zenbox.pl promocja
Zdjęcie
- - - - -

Naprzemienne klasy w komentarzach


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Riff

Riff

    Wu-Pe-Chi Master

  • Weteran
  • PipPipPipPipPipPip
  • 1063 postów
  • Płeć:Mężczyzna
  • Location:Jeszcze Polska
  • Interests:Tworzenie stron internetowych (ależ oryginalne), zjawiska paranormalne i fenomen zdolności parapsychicznych, samodoskonalenie, Science Fiction

Napisano 16.05.2008 - 10:42

Wstęp

Komentarz komentarzowi nie równy - z wiadomych przyczyn każdy blogger wie, iż Content is the King, jednak jeśli się go ubierze w szmaty, każdy będzie myślał, że to żebrak. Z tego też powodu warto zadbać o wygląd naszego bloga - a na wygląd ten składają się również komentarze.

Nie raz zapewne spotkaliście się z blogiem, na którym co drugi komentarz ma inny wygląd - fachowej nazwy nie znam, mówię na to - "naprzemienność klas" :). Stworzenie takiego właśnie wyglądu komentarzy jest bajecznie proste, jednak z uwagi na potrzebę ingerencji w kod i skromną bo skromną, ale jednak znajomość języka PHP, dla niektórych może być wyzwaniem nie do pokonania. Z tego względu po przydługim wstępnie zaczynam właściwą treść tego tutoriala.

Tutorial właściwy

Na początek trzeba nam zlokalizować plik "comments.php", znajdujący się folderze naszego stylu. Po jego otwarciu zobaczymy pomieszany kod XHTML oraz PHP. Teraz musimy zlokalizować właściwy fragment odpowiedzialny za wyświetlanie listy komentarzy. Fragment ten powinniśmy poznać po czymś takim:

<?php foreach($COŚ as $COŚ-INNEGO) : ?>

Funkcja php foreach() ma za zadanie w tym wypadku wyświetlić wszystkie komentarze. Jeśli jednak czegoś takiego nie znajdizemy, to stosujemy inną metodę diagonostyczną :) - wyszkujemy:

<?php comment_ID(); ?>

Blok kodu, w którym znajduje się ta funkcja stanowi otoczkę pojedyńczego komentarza. Poniżej przykład:

<ul>

<?php foreach ($comments as $comment) : ?>

<li id="comment-<?php comment_ID() ?>">



<?php comment_author_link() ?><br /> //Autor komentarza

<a href="#comment-<?php comment_ID() ?>"><?php comment_date() ?></a><br /> //Data komentarza

	

<?php comment_text() ?> //Tresc komentarza

	

</li>

<?php endforeach; ?>

</ul>

W przykładzie powyżej właściwą otoczką pojedyńczego komentarza jest punkt listy wypunktowanej <li id="comment-<?php comment_ID() ?>">. Chcąc teraz, aby co drugi komentarz był inaczej formatowany, należy nam nieco zmodyfikować ten kod. Do <li id="comment-<?php comment_ID() ?>"> musimy dodać odpowiednią zmienną php, która będzie odpowiadać za przypisanie klasy:

<li class="<?php echo $commentclass; ?>" id="comment-<?php comment_ID() ?>">

Teraz pozostaje nam jeszcze tylko zdeklarować zmienną $commentclass. Przechodzimy więc na początek kodu, jeszcze przed otwierającym znacznikiem <li> wklejamy następujący kod:

<?php 

if ($commentclass == 'alternative') $commentclass = 'basic';

else $commentclass = 'alternative';

?>

Logika tej mechaniki jest zadziwiająca - jeśli komentarz będzie miał klasę "alternative", wtedy klasa ta zostanie zamieniona na "basic", jednak jeśli nie będzie miał klasy "alternative", wtedy klasa ta zostanie przyznana ;). Uff, 3/4 drogi za nami, zyskaliśmy już dwie naprzemiemnne klasy, pozostaje nam więc je sformatować. Plik comments.php możemy już zamknąć, otwieramy natomiast plik style.css. A w nim wpisujemy następujący kod:

.basic {

background-color:#eeeeee;

}

.alternative {

background-color:#ffffff;

}

Efektem będą dwa kolory tła dla komentarzy, występująca naprzemiennie - teraz ze znajomością CSS możemy się pobawić i urozmaicić wyglad komentarzy. Naprzemienność klas została osiągnięta - voila :D.

Puenta?

Mógłbym teraz napisać, że "jeśli tutorial okazał się przydatny, to możesz wejść na mojego bloga i korzystając z danych tam dostępnych uiścić skromną dotację, co bym mógł pisać więcej takich porad" - z uwagi jednak na OpenSourcowy charakter tego forum, nic takiego nie uczynię :D. Jeśli jednak tutorial okazał się przydatny, to moja skrzynka PW na tymże forum z niecierpliwością oczekuje na wasze propozycje odnośnie innych porad - jeśli chcecie, abym opisał jakieś zagadnienie, piszcie śmiało - a nóż widelec wasza propozycja zamieni się w kolejny tutorial.

#2 tadekcorona

tadekcorona
  • Bloger
  • 3 postów

Napisano 07.02.2010 - 22:21

To co napiszę to na pewno nie jest na temat, ale nie wiem już gdzie uderzyć przeglądałem całe forum i nie znalazłem odpowiedzi. Proszę o wyrozumiałość jestem nowym adeptem word pressa.

1.Jak uniknąć na swoim blogu duplikowanych treści wiem że trzeba coś dodać w pliku htaccess i robots.txt , ale gdzie te pliki się znajdują szukam i nie mogę trafić.
2. Piszę już po raz kolejny co może być przyczyną że nowi użytkownicy przy rejestracji nie dostają e-maila z hasłem chyba coś nie tak na serwerze (mam GoDaddy)
Bardzo przepraszam że piszę do Ciebie ale liczę że ktoś mi pomoże.
Pozdrowienia ze słonecznej Californii.

#3 dczepiel

dczepiel

    aktywność:

  • +Bloger
  • PipPipPip
  • 100 postów

Napisano 24.03.2010 - 13:51

hmm a mozna gdzies zobaczy przyklad jak to wyglada ?


Użytkownicy przeglądający ten temat: 0

0 members, 0 guests, 0 anonymous users

Poprzedni adres WWW tego tematu: http://www.wordpress.org.pl/Naprzemienne-klasy-w-komentarzach-t4136.html