czwartek, 3 grudnia 2009

Strony statyczne w bloggerze (cz. 2)

Postępując zgodnie z instrukcjami z poprzedniego posta otrzymaliśmy jako efekt stronę opublikowaną z datą wsteczną (poza kalendarzem działania naszego bloga), w której nagłówku nie jest wyświetlana data. Teraz trzeba się zająć widżetem "Archiwum", który wyświetla tę stronę - a my przecież chcemy, żeby tam były tylko posty.

Na początek 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.

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

Teraz w zależności od tego czy wykorzystujemy "Hierarchię", "Płaską listę" czy "Menu rozwijane" należy wykonać następujące instrukcje:

W przypadku wybrania opcji "Hierarchii" w kodzie musimy odnaleźć następujący fragment odpowiadający za wyświetlanie zawartości archiwum:


<b:includable id='interval' var='intervalData'>
Całą sekcję rozpoczynaną przez ten znacznik (includabe) należy zamienić na następujący fragment:

<b:includable id='interval' var='intervalData'>
<b:loop values='data:intervalData' var='i'>
<b:if cond='data:i.name != "2008"'>
<ul>
<li expr:class='"archivedate " + data:i.expclass'>
<b:include data='i' name='toggle'/>
<a class='post-count-link' expr:href='data:i.url'><data:i.name/></a>
<span class='post-count' dir='ltr'>(<data:i.post-count/>)</span>
<b:if cond='data:i.data'>
<b:include data='i.data' name='interval'/>
</b:if>
<b:if cond='data:i.posts'>
<b:include data='i.posts' name='posts'/>
</b:if>
</li>
</ul>
</b:if>
</b:loop>
</b:includable>
Jak widać dodatliśmy warunek w pętli, który przez interpreter bloggera zostaje odczytany w następujący sposób: "Jeśli rok publikacji posta jest różny od "2008" to wyświetl w archiwum i uzględnij posta w liczniku".
W takim zapisie, w widżecie "archiwum" nie będzie wyświetlany cały rok 2008.

 W przypadku wybrania opcji "Płaskiej listy" w kodzie musimy odnaleźć następujący fragment odpowiadający za wyświetlanie zawartości archiwum:
<b:includable id='flat' var='data'>
Całą sekcję rozpoczynaną przez ten znacznik (includabe) należy zamienić na następujący fragment:
<b:includable id='flat' var='data'>
<ul>
<b:loop values='data:data' var='i'>
<b:if cond='data:i.name != "styczeń 2008"'>
<li class='archivedate'>
<a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
</li>
</b:if>
</b:loop>
</ul>
</b:includable>

Jak widać dodatliśmy warunek w pętli, który przez interpreter bloggera zostaje odczytany w następujący sposób: "Jeśli miesiąc i rok publikacji posta jest różny od "styczeń 2008" to wyświetl w archiwum i uzględnij posta w liczniku".
W takim zapisie, w widżecie "archiwum" nie będzie wyświetlany cały miesiąc styczeń 2008.

W przypadku wybrania opcji "Menu rozwijanego" w kodzie musimy odnaleźć następujący fragment odpowiadający za wyświetlanie zawartości archiwum:
<b:includable id='menu' var='data'>
Całą sekcję rozpoczynaną przez ten znacznik (includabe) należy zamienić na następujący fragment:
<b:includable id='menu' var='data'>
<select expr:id='data:widget.instanceId + "_ArchiveMenu"'>
<option value=''><data:title/></option>
<b:loop values='data:data' var='i'>
<b:if cond='data:i.name != "styczeń 2008"'>
<option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
</b:if>
</b:loop>
</select>
</b:includable>
Jak widać dodatliśmy warunek w pętli, który przez interpreter bloggera zostaje odczytany w następujący sposób: "Jeśli miesiąc i rok publikacji posta jest różny od "styczeń 2008" to wyświetl w archiwum i uzględnij posta w liczniku".
W takim zapisie, w menu rozwijanym widżeta "archiwum" nie będzie wyświetlany cały miesiąc styczeń 2008.

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 blogu. W widżecie "Archiwum" nie powinien być wyświetlany ten post.
Nadal możemy się do niego dostać za pomocą nawigacji "starszy post" - "nowszy post".

Pozostaje nam wyświetlić ten konkretny wpis bloga, który będzie nam słuzył za stronę statyczną, skopiować jego adres i w menu za pomocą widżeta "Lista linków" lub "HTML/Java script" dodać jako odnośnik w menu bocznym.

1 komentarz: