Polonizujemy Bloggera część 3: poprawiamy datę

W poprzedniej poradzie pokazałem jak zmienić tytuł formularza, w którym wpisujemy komentarze. Teraz czas na poprawienie daty, bo w Bloggerze domyślnie miesiące nie są odmieniane, co przy wyrażeniach 5 wrzesień 2009 nie jest poprawne. Przedstawię poradę jak zmienić kod szablonu i ustawienia, tak żeby wyżej wymienione wyrażenie było poprawne. Wystarczy tylko jedna funkcja w JavaScript, mała modyfikacja kodu szablonu i zmiana ustawień wyświetlania daty.
  1. Rozpoczynamy od otwarcia Pulpitu nawigacyjnego Bloggera dostępnego na stronie http://blogger.com. Następnie klikamy na link Układ (patrz zrzut poniżej). Spowoduje to otwarcie się nowej strony z możliwością zmian wyglądu bloga. webatech
  2. W celu przejścia do edycji kodu, klikamy na zakładkę zak_edytuj . Następnie zaznaczamy opcję rozszerz_szablony i po przeładowaniu strony w obszarze edytuj_szablon w polu tekstowym w kodzie odnajdujemy (skrót Ctrl + F) wyrażenie
    <span class='date-header'><data:post.dateHeader/></span>  
    Zamiast <data:post.dateHeader/> wpisujemy wywołanie funkcji w JavaScript, którą za chwilę dodamy. Ma ono postać:
    <SCRIPT> poprawna_data(‘<data:post.dateHeader/>’);</SCRIPT>
  3. Następnie przechodzimy na początek kodu szablonu i po wierszu:
    <title><data:blog.pageTitle/></title>
    wklejamy wspomnianą funkcję JS:
  4.    1: <SCRIPT type='text/javascript'>
       2:   //<![CDATA[
       3:   /*********************************/
       4:   /* http://poradnik.webatech.pl   */
       5:   /*********************************/
       6:   function poprawna_data(date) {
       7:     var data = date.split('.');
       8:     var dzien = data[1], miesiac = data[0], rok = data[2];
       9:     var miesiace = ['0','stycznia','lutego','marca','kwietnia','maja','czerwca','lipca','sierpnia','września','października','listopada','grudnia'];
      10:     document.write(dzien+" "+miesiace[miesiac]+" "+rok);
      11:   }
      12:   //]]>
      13: </SCRIPT>    
  5. Na koniec, w celu zatwierdzenia nowej konfiguracji klikamy na przycisk przy_zapisz_szablon. To jednak nie wszystko musimy jeszcze zmienić format daty, tak żeby funkcja split(‘.’) mogła zadziałać. W tym celu przechodzimy na główną zakładkę zak_ustawienia i następnie na zak_formatowanie.
  6. Na nowo otwartej stronie odnajdujemy listę lista_format_naglowka  i wybieramy z niej sposób wyświetlania daty z kropkami, na przykład dla daty 5 września 2009, będzie to 09.05.2009. Na koniec w celu zapisania nowej konfiguracji klikamy na przycisk przy_zapisz_ustawienia. Od teraz miesiące na blogu będą podawane we właściwym przypadku.

9 Komentarzy :: Polonizujemy Bloggera część 3: poprawiamy datę

  1. To chyba zależy od szablonu, bo np. w moim Poradniku nie ma tego pierwszego wyrażenia.

  2. Być może dlatego generalnie trzeba odszukać data:post.dateHeader

  3. Nie do końca to poprawnie działa. Jeżeli piszemy więcej niż jeden post dziennie to data pojawi się tylko przy pierwszym wpisie, w pozostałych jej nie będzie (tak działa data:post.dateHeader). Można to obejść korzystając z data:post.timestamp. Niestety w opcjach formatowania nie znajdziemy formatu z kropką (jest co prawda d.m.r ale w formacie 23.9.09). Dla mnie 09 jest nie do przejścia ;) Więc możemy zmodyfikować skrypt podając zamiast kropki znak / i w formatowaniu timestampa ustawić 9/23/2009. Wtedy wszystko działa poprawnie i dla każdego posta. Swoją drogą dzięki za wpis szukałem tego z godzinę w sieci :)

  4. @Devon ciekawy pomysł i rzeczywiście godny uwagi. Jeśli ktoś publikuje więcej niż jeden wpis dziennie, to powinien zastosować twój patch:)

    co do szukania godzinę, to niestety poradnik nie jest jeszcze często pokazywany w Google, ale może za jakiś czas się to zmieni.

  5. @Devon: nie wiem czy to się da jakoś obejść, bo chyba drugi post publikowany tego dnia nie ma po prostu ustawionego dateHeader.

  6. @volfen: dlatego proponowałem zamiast dateHeader używać zawsze timestamp, on jest zawsze.

  7. @Devon: w nim też jest data? bo jak go dodałem to był tylko czas

  8. @volfen: musisz wejść do opcji formatowania bloga (ustawienia/formatowanie/format znacznika czasu) i tam wybrać odpowiadający Ci format. Wtedy możesz zastosować drobną modyfikację Twojego skryptu tak jak opisałem w poprzednim komentarzu :)

  9. @Devon: sprytnie, w sumie nie wiedziałem, że jest taki wybór, pomyślałem że czas to czas.

Wpisz swoje uwagi: