poniedziałek, 30 listopada 2009

Strony statyczne w bloggerze (cz. 1)

Pewnie wielu z początkujących bloggerów zastanawia się jak za pomocą blogspota uzyskać efekt strony statycznej. Chodzi o stronę, którą można podłączyć w menu, a nie posta prezentowanego z datą publikacji na liście i dodatkowo dostępnego z widżeta "Archiwum".
W przeciwieństwie do innycn platform (takich jak wordpress), blogger nie ma funkcji stron statycznych. Ale bawiąc się trochę kodem szablonu bloga dostępnym w ustawieniach, w opcji "Edytuj kod HTML", wprowadzając drobne modyfikacje, możemy osiągnąć bardzo zbliżony efekt.

W kilku kolejnych wpisach postaram się pomóc osiągnąć ten efekt. Mam nadzieję, że niektórym osobom się to przyda. W przykładach będę pracował na szablonie "Minima Black", ale dla innych szablonów rodzaj wprowadzanych modyfikacji i sam sposób jest analogiczny.

Wykonujemy kopię zapasową naszego kodu HTML: "Układ" -> "Edytuj kod HTML", zaznaczamy "ptaszek" przy "Rozszerz szablony widżetów" i wybieramy "pobierz pełny szablon". Zapisujemy plik na dysku komputera.

Na początek zacznijmy od sprawienia, aby publikowana za pomocą mechanizmu postów nasza pseudo-statyczna strona nie miała nagłówka daty.

W tym celu musimy sprawdzić w aki sposób prezentowana jest dana w nagłówku posta. W menu "Ustawienia" -> "Formatowanie" sprawdzamy opcję "Format nagłówka daty". W moim przypadku jest "poniedziałek, 30 listopada 2009". Zapamiętujemy format daty.

Wybieramy sobie datę sprzed rozpoczęcia działalności blogowej w naszym blogu. Pod tą datą będziemy publikować wszystkie posty, które chcemy traktować jak strony statyczne. W moim przypadku jest to data "wtorek, 1 stycznia 2008".

Zapamiętujemy to i przechodzimy do "Układ" -> "Edytuj kod HTML". Zaznaczamy "ptaszek" przy "Rozszerz szablony widżetów".

W kodzie musimy odnaleźć następujący fragment odpowiadający za wyświetlanie nagłówka daty posta:


<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
Zamieniamy ten cały fragment na następujący:

<b:if cond='data:post.dateHeader != "wtorek, 1 stycznia 2008"'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
</b:if>

Jak widać dodatliśmy warunek, który przez interpreter bloggera zostaje odczytany w następujący sposób: "Jeśli data posta jest różna od "wtorek, 1 stycznia 2008"to wyświetl nagłówek posta".
W przeciwnym razie data nie zostanie wyświetlona.

Zapisujemy szablon i tesujemy.

W "Zamieszczanie postów" -> "Nowy post" wpisujemy tytuł i treść posta. Klikamy "Opcje posta". Następnie w opcji "Data i godzina posta" zaznaczamy "Zaplanowano na" i wpisujemy wybraną przez nas datę (w odpowiednim formacie) - u mnie "08-01-01".

Publikujemy posta i sprawdzamy na podglądzie, gdzie nie powinniśmy widzieć nagłówka posta.

Rozwiązanie to zastosowałem na swoim blogu "Martwa Strefa", gdzie możecie sprawdzić czym różnią się strony statyczne od zwykłych postów po zastosowaniu moich porad.
UWAGA: proszę zastosować odpowiednie daty, a wybierając datę publikacji pseudo-statycznych stron najlepiej wybrać datę z któregoś z poprzedzających lat - a czemu? O tym w następnej poradzie. Zapraszam wkrótce...