calendarize_news dla TYPO3
Widok kalendarza dla GeorgRinger/news: Powtarzające się wydarzenia, filtr dat, widok miesiąca/tygodnia/dnia.
Umów bezpłatną konsultacjęWydarzenia w tx_news należą do kalendarza, nie do chronologicznej listy
Większość witryn TYPO3 wykorzystuje tx_news Georga Ringera do wszystkiego: aktualności, wpisów blogowych, komunikatów prasowych i wydarzeń. Dla pierwszych trzech typów chronologiczna lista działa. Dla wydarzeń nie. Odwiedzający oczekują widoku kalendarza z prezentacją miesięczną, tygodniową i dzienną. Chcą kliknąć na datę i zobaczyć, co się tego dnia odbywa. calendarize_news buduje dokładnie ten most: pobiera istniejące rekordy News z polami daty i renderuje je jako kalendarz.
Rozszerzenie oszczędza przejście na samodzielny system wydarzeń. Kto już korzysta z tx_news, zachowuje swoją strukturę danych, swoje szablony i swoje procesy redakcyjne. Zamiast drugiego rozszerzenia z oddzielnym przechowywaniem danych jest widok kalendarza na istniejących danych.
Typowe scenariusze zastosowania
Kalendarze wydarzeń na stronach firmowych. Placówka edukacyjna publikuje 150 seminariów rocznie przez tx_news. Każde seminarium ma datę początkową, datę końcową i godzinę. Bez calendarize_news odwiedzający widzą długą listę posortowaną po dacie. Z calendarize_news widzą kalendarz miesięczny, klikają na 15 maja i znajdują trzy seminaria. Konwersja z widoku kalendarza na stronę szczegółową u jednego klienta była o 40% wyższa niż z widoku listy.
Powtarzające się wydarzenia bez duplikacji danych. Cotygodniowe spotkanie, comiesięczny webinar, doroczna uroczystość firmowa: bez funkcjonalności powtarzania redaktor musi utworzyć 52 rekordy dla spotkania. calendarize_news obsługuje reguły powtarzania (dziennie, tygodniowo, miesięcznie, rocznie) z wyjątkami. Jeden rekord generuje 52 wpisy kalendarza. Gdy termin odpada, jest oznaczany jako wyjątek, nie usuwany.
Połączone strony aktualności i wydarzeń. Wiele organizacji na stronie głównej pokazuje “Aktualności” - mieszankę wiadomości i nadchodzących wydarzeń. calendarize_news umożliwia wyświetlanie tych samych rekordów na liście News chronologicznie i w kalendarzu według daty. Dwa widoki, jedno źródło danych, żadnego nakładu synchronizacji.
Architektura techniczna
calendarize_news rozszerza tx_news o dodatkowe pola bazy danych w tabeli tx_news_domain_model_news: data początkowa, data końcowa, flaga całodniowa, reguła powtarzania i daty wyjątków. Logika powtarzania jest zaimplementowana w rozszerzeniu i generuje wirtualne terminy w czasie działania, bez tworzenia osobnego rekordu w bazie danych dla każdego pojedynczego terminu.
Prezentacja kalendarza odbywa się przez szablony Fluid renderujące siatkę miesięczną. Każda komórka (dzień) zawiera wydarzenia tego dnia. Szablony są w pełni konfigurowalne. Domyślnie rozszerzenie dostarcza szablony dla widoku miesięcznego, tygodniowego i dziennego. Nawigacja między miesiącami odbywa się przez AJAX lub klasyczne wywołanie strony, konfigurowalne przez TypoScript.
Integracja z tx_news jest głęboka: calendarize_news rejestruje się jako dodatkowy plugin (list type) i wykorzystuje wzorzec Repository tx_news. Kategorie, tagi i ograniczenia dostępu z tx_news są przejmowane. Wydarzenie przypisane do kategorii “Wewnętrzne” i widoczne tylko dla zalogowanych użytkowników pojawia się w kalendarzu również tylko po zalogowaniu.
Funkcja eksportu iCal generuje pliki .ics dla pojedynczych wydarzeń lub całego kalendarza. Odwiedzający mogą importować wydarzenia bezpośrednio do Outlook, Apple Calendar lub Google Calendar. Eksport korzysta z formatu iCalendar (RFC 5545) i uwzględnia reguły powtarzania.
Częste problemy i rozwiązania
Kalendarz nie pokazuje wydarzeń, mimo że News istnieją. Najczęstsza przyczyna: pola daty rekordów News nie są wypełnione. tx_news ma pole datetime, ale calendarize_news używa własnych pól dla daty początkowej i końcowej. Po instalacji istniejące rekordy News muszą być uzupełnione o pola calendarize. Rozwiązanie: skrypt migracji kopiujący datetime do pól calendarize - 30 minut pracy developerskiej.
Problemy wydajnościowe przy wielu powtarzających się wydarzeniach. Gdy 50 powtarzających się wydarzeń generuje po 52 wirtualne terminy, rozszerzenie musi filtrować 2600 wpisów dla widoku miesięcznego. To jest odczuwalne przy każdym niecachowanym wywołaniu strony. Rozwiązanie: cachowanie obliczania powtórzeń (calendarize_news obsługuje Caching Framework TYPO3) i ograniczenie zakresu czasowego. Wydarzenia odległe o więcej niż 12 miesięcy w przyszłość nie muszą być obliczane przy każdym żądaniu.
Responsywne wyświetlanie siatki kalendarza. Siatka 7-kolumnowa dla dni tygodnia działa na desktopie, ale nie na smartfonach. Standardowe szablony calendarize_news nie są zoptymalizowane pod urządzenia mobilne. Rozwiązanie: dostosowanie szablonów Fluid i renderowanie na urządzeniach mobilnych widoku listy zamiast siatki. Breakpoint CSS przy 768px wystarczy do przełączania między siatką a listą.
Migracja i kompatybilność wersji
calendarize_news zależy bezpośrednio od tx_news i podąża za jego cyklem wersji z opóźnieniem. Aktualna stabilna wersja obsługuje TYPO3 v11 i v12 z tx_news v10/v11. Dla TYPO3 v13 istnieje wersja beta na GitHubie.
Alternatywa calendarize (bez sufiksu _news) od lochmullera to samodzielne rozszerzenie kalendarza, które nie opiera się na tx_news, lecz posiada własny model danych. Jest aktywniej utrzymywane i oficjalnie obsługuje TYPO3 v12 i v13. Przejście z calendarize_news na calendarize wymaga migracji danych: dane wydarzeń muszą być przeniesione z tabeli tx_news do tabel calendarize.
Dla projektów migrujących na TYPO3 v13 z zachowaniem tx_news najpragmatyczniejszą drogą jest: użycie bety calendarize_news lub zbudowanie prezentacji kalendarza jako niestandardowego szablonu Fluid bezpośrednio w tx_news. Nakład pracy na niestandardowy szablon to 2-3 dni, a wynik jest niezależny od utrzymania osób trzecich. Gosign wdrożył obie drogi i rekomenduje odpowiedni wariant w zależności od złożoności reguł powtarzania.
Bezpłatna konsultacja: 30 minut ze specjalistą TYPO3
Analizujemy Twój projekt, szacujemy nakład i termin - bez zobowiązań, bez przygotowania.
Omów projekt kalendarza, 30 min, bezpłatnie25 lat doświadczenia z TYPO3 · 800+ przeanalizowanych rozszerzeń · Rozwój przyspieszony przez AI
Rozwój przyspieszony przez AI: 70% szybciej
Aktualizacja TYPO3 i audyt RODO
Aktualizujemy Twoją instalację TYPO3 ekonomicznie do aktualnej wersji LTS - wraz ze wszystkimi rozszerzeniami, również przestarzałymi i niewspieranymi.
Wszystkie rozszerzenia zmigrowane
Również przestarzałe, niewspierane lub własne.
Cena stała
Przejrzyste koszty, bez ukrytych prac dodatkowych.
Przyspieszone AI
30-50% taniej niż rynek dzięki analizie kodu wspomaganej przez AI.
Zero utraty danych
Pełna migracja danych z zabezpieczeniem rollback.
Audyt RODO: Sprawdzamy Twoją instalację TYPO3 pod kątem zgodności z RODO - zgody cookie, tracking, rozszerzenia, formularze i hosting - i wdrażamy wszystkie działania ekonomicznie.
Gosign to agencja cyfrowa z Hamburga z 25-letnim doświadczeniem w rozwoju TYPO3. Przeanalizowaliśmy ponad 800 rozszerzeń TYPO3 i dziś rozwijamy je przy wsparciu AI nawet o 70% szybciej niż metodami klasycznymi. Naszymi klientami są średnie przedsiębiorstwa, uczelnie wyższe i instytucje publiczne w Europie.
Stan: kwiecień 2026
Umów bezpłatną konsultację
30 minut ze specjalistą TYPO3, bez zobowiązań.