Taki format prezentowania daty jest obecny również u nas na stronie, w prawej kolumnie (patrz obrazek). Żeby uzyskać taki efekt pierwszą rzeczą jaką musimy zrobić jest zmiana formatu wyświetlania daty. Wchodzimy w Struktura stron i edytujemy punkt startowy naszego serwisu. W polu Format daty i czasu, za dokumentacją php, wklepujemy d-M-Y. Co ciekawe, jeśli mamy wgrane spolszczenie TYPOlight automatycznie przekonwertuje nam nazwy angielskie na ich polskie odpowiedniki, np. "Jul" -> "Lip".
Teraz przechodzimy do modyfikacji szablonu niusa. Otwieramy nasz plik, w moim przypadku jest to news_prawakolumna.tpl. Z pomocą rozbicia daty przychodzi nam funkcja php explode(). W miejsce kodu
<?php echo $this->date; ?>
wstawiamy
<?php $date = explode('-',$this->date); ?>
Dzięki temu datę mamy rozbitą na trzy fragmenty,
$date[0] => dzień $date[1] => miesiąc $date[2] => rok
które to możemy wywołać w naszym szablonie:
<div class="day">
<?php echo $date[0]; ?>
</div>
<div class="month">
<?php echo $date[1]; ?>
</div>
-
28 LutZaraz po wersji 2.8.0 ukazała się wersja 2.8.1, naprawiająca kilka bugów i usprawniająca zarządzanie grupami.przez Kamil|0
-
16 LutWłaśnie dzisiaj ukazała się długo oczekiwana nowa wersja 2.8.0 TYPOlight.przez Marcin|0
-
19 GruWykryto krytyczną lukę bezpieczeństwa w instalatorze TYPOlight.przez Marcin|1
Instalacja TYPOlight pokazana krok po kroku. Obejrzyj Video
Szybki przegląd ustawień dostępnych w TYPOlight. Obejrzyj Video
Pokazana istota działania repozytorium modułów. Obejrzyj Video


5 Komentarzy
pralasant | 27 Paz 2009
A w przypadku, gdy potrzebujemy wyświetlić tylko rok(bez godziny) można datę rozbić jak poniżej:
Prałasant | 29 Paz 2009
No to jeszcze raz.
Kamil | 02 Lis 2009
Socha | 02 Lis 2009
A nie można tego miesiąca załatwić zwykłym "if"?
Kamil | 02 Lis 2009
Typo obsługuje tylko liczbowy format daty. Pewnie bez ingerencji w źródła nie dałoby się tego ominąć - więc powyższy przykład sypnie się przy np. próbie ponownego zapisania jakiegoś newsa.
Oczywiście wszystko działa jak najlepiej stosując j, d, m, n, y, Y, g, G, h, H, i, s, ale np. M wyrzuca w pewnych okolicznościach error.
No i ten brak polskiego "ź" w miesiącu "Październik" - trzeba edytować plik języka i zapisać jako "z". I z tym właśnie związane jest ograniczenie TL.
"No i ten brak polskiego "ź" w miesiącu "Październik" - trzeba edytować plik języka i zapisać jako z"
Tak, masz rację, plik tłumaczenia trzeba edytować ręcznie. Inaczej wyświetli nam się Pa<?>, czyli krzak zamiast "ź".
Coś na kształt tego:
if ($date[1] == 1) {
echo 'Styczeń'
} elseif ($date[1] == 2) {
echo 'Luty'
}
itd...
Socha masz rację, ale trochę pisania by było. Poza tym zamiast if można by użyć switch, które z tego co pamiętam jest nieco szybsze.
W celu wyświetlenia tylko trzech pierwszych liter, można również ustawić w punkcie startowym datę by wyświetlała pełne nazwy miesięcy, a nastepnie obrobić je w php, np. za pomocą:
Dodaj komentarz (+)