Zobacz szablony i moduły premium do Contao na Veello

Contao 5.1 dostępne

Nadszedł czas. Nowa wersja 5.1 Contao jest dostępna!

Główny zespół i wielu innych programistów nie szczędziło wysiłków i spędziło niezliczone godziny, aby przenieść nasz ulubiony CMS na wyższy poziom. Wprowadzono kilka nowych funkcji dla użytkowników i programistów.

Contao 5.1 zastępuje Contao 5.0, które nie będzie już aktualizowane. Nowa wersja będzie wspierana aktualizacjami do sierpnia 2023. Możesz dowiedzieć się, które wersje Contao są obecnie obsługiwane tutaj.

Backend – ulubione linki

W backendzie Contao dowolne linki można teraz zapisać jako ulubione.

Ulubione linki są następnie gromadzone po lewej stronie nad treścią i mogą być również zagnieżdżane w poziomach. Można je edytować, zmieniać kolejność i usuwać za pomocą symbolu gwiazdki w pomarańczowym obszarze informacyjnym (toolbar).

W trakcie tego dodano również nowy, trzeci poziom nawigacji w backendzie.

Zaawansowany widok siatki

Do tej pory pola typu input w Contao i jego rozszerzeniach mogły zajmować tylko całą lub połowę dostępnej przestrzeni. Od teraz są też dostępne klasy  pozwalające na zajęcie 1/4, 1/3, 2/3 i 3/4 szerokości. #5672

Tryb ciemny

Dla tych, którzy preferują wyższy kontrast i/lub często pracują w nocy, dostępny jest teraz tryb ciemny. #5031

Tryb automatycznie dostosowuje się do ustawień systemu operacyjnego, ale oczywiście można go również wybrać ręcznie.

Kopiowanie wielokrotne

We wszystkich widokach listy, po wybraniu funkcji „Edytuj wszystkie rekordy”, masz teraz możliwość korzystania z opcji „Kopiuj wielokrotnie”. Po wklejeniu skopiowane elementy pozostają w schowku i można je dalej kopiować.

Funkcja kończy się kliknięciem na „Wyczyść schowek”. #5417

Sortuj w obie strony

Pola można teraz sortować w porządku rosnącym i malejącym w widokach list.

Dostępne są nowe wartości flag dla pól DCA:

  • DataContainer::SORT_INITIAL_LETTER_BOTH Sortuj według pierwszej litery w obie strony
  • DataContainer::SORT_INITIAL_LETTERS_BOTH Sortuj według początkowych X liter w obie strony
  • DataContainer::SORT_DAY_BOTH Sortuj według dni w obie strony
  • DataContainer::SORT_MONTH_BOTH Sortuj według miesiąca w obie strony
  • DataContainer::SORT_YEAR_BOTH Sortuj według roku w obie strony
  • DataContainer::SORT_BOTH Sortuj w obie strony

#5425

Artykuły chronione

Znasz to już ze stron chronionych. Jeśli udostępniasz artykuły tylko jednej lub kilku grupom użytkowników po zalogowaniu, jest to zaznaczone w przeglądzie symbolem z kłódką. #5304

Zaawansowany podgląd elementu

Podgląd elementu pokazuje teraz więcej informacji o zawartości danego elementu. Pozwala to zespołowi redakcyjnemu szybciej zdecydować, który element należy edytować, aby dostosować określoną zawartość frontendu. #5609

Domyślne pole wyszukiwania

Deweloperzy mogą teraz określić dla DCA, które pole powinno być przeszukiwane domyślnie, o ile user:inside nie dokonał wyboru. #5364

Komunikat dotyczący brakującego adresu e-mail administratora

Zaraz po zalogowaniu zobaczysz komunikat na pulpicie nawigacyjnym, o tym że nie podałeś adresu e-mail administratora w ustawieniach systemu. #5427

Wysyłanie formularzy przez Ajax

Każdy formularz w Contao można teraz przesłać przez Ajax. Możesz to ustawić w konfiguracji formularza. Wtedy przekierowanie na stronę nie jest konieczne, ale możesz ustawić komunikat, który będzie wyświetlany na tej samej stronie po przesłaniu. #5307

URI oraz ID strony w dzienniku systemowym

We wpisach dziennika systemowego dla każdego wpisu jest teraz przechowywany identyfikator URI i, jeśli jest dostępny, identyfikator strony. #3694

Nowości dla programistów

Login-Rate-Limit

Login-Rate-Limit dotyczy teraz zarówno istniejących, jak i nieistniejących użytkowników. Daje to atakującym mniej możliwości sprawdzenia, które nazwy użytkowników istnieją, a które nie.

Contao wyświetla teraz również komunikat „Logowanie nie powiodło się”, jeśli wprowadzono nieprawidłowe hasło dla nieistniejących użytkowników. #5368

Background-Worker

"Background workers" umożliwiają asynchroniczne wykonywanie długotrwałych procesów, takich jak wysyłanie wiadomości e-mail lub indeksowanie stron w tle. #5405

W związku z tym otwierają zupełnie nowe możliwości dla twórców rozszerzeń i nie możemy się doczekać, aby zobaczyć, co zrobi z nimi społeczność!

Nowy moduł czytnika kanałów

Nowy moduł czytnika kanałów czyta nie tylko kanały RSS i Atom, ale także kanały JSON. #4847

Stary moduł czytnika kanałów pozostaje ze względu na kompatybilność wsteczną. Mamy więc teraz do wyboru dwa moduły frontendowe w backendzie, z których jeden został oznaczony jako „przestarzały”.

Asynchroniczne zadania cron

Zadania cron mogą być teraz wykonywane asynchronicznie. Oznacza to, że na przykład co minutowe zadanie cron nie musi już być przetwarzane sekwencyjnie, ale dzięki Promises możliwe jest również uruchomienie kilku zadań jednocześnie.

Nowa klasa ProcessUtil ułatwia również tworzenie asynchronicznych zadań cron obsługujących proces Symfony . #5554

Automatycznie dezaktywuj zadania web cron

Kolejnym ulepszeniem związanym z zadaniami cron jest nowe, automatyczne rozpoznawanie, czy prawdziwy cronjob jest dostępny przez CLI, czy nie. Wcześniej "poor man's cron" musiał być ręcznie dezaktywowany w konfiguracji (localconfig.disableCron), ale nie jest to już konieczne. Contao ma teraz ustawienie automatyczne, które jest domyślnie aktywne. W ten sposób Contao automatycznie wykrywa, kiedy prawdziwy cronjob minuta po minucie działa poprzez contao:cron i odpowiednio dezaktywuje web cronjob. #5591

Obsługa błędów w formularzach

Generator formularzy może teraz wyświetlać ogólne komunikaty o błędach w formularzu. Oznacza to, że nie muszą już odwoływać się do konkretnego pola formularza. Ta opcja jest dostępna dla programistów w hookach generatorach formularzy. #4898

MemberActivationMailEvent

Nowe zdarzenie MemberActivationMailEvent jest dostępne. Pozwala na dostarczenie e-maila aktywacyjnego z dodatkowymi prostymi tokenami, jak na przykład nasz "newsletter bundle" zawsze robił to dla ##kanałów. Dzięki temu nowemu zdarzeniu ta możliwość jest teraz dostępna dla wszystkich programistów. #5116

attributes_callback

Czasami w back-endzie bardzo pomocne jest uczynienie pewnych definicji DCA, takich jak instrukcje eval, dynamicznymi. Można sobie wyobrazić pole, które jest albo obowiązkowe -mandatory, albo nie, w zależności od innego pola. Do tej pory musiało to być realizowane na przykład za pomocą onload_callback, co ma tę wadę, że nie ma dostępnego bieżącego rekordu. Dlatego dostępna jest teraz dedykowana funkcja attributes_callback, za pomocą której można w wygodny sposób wpływać na atrybuty widget-u. #5673

Locale w Template::trans()

Dzięki różnym zmianom w Symfony i naszej podstrukturze możliwe jest teraz również przekazywanie locale w szablonach dla helpera trans().

W związku z tym jest teraz możliwe:

en: <?= $this->trans('ERR.general') ?>
de: <?= $this->trans('ERR.general', [], 'contao_default', 'de') ?>
cs: <?= $this->trans('ERR.general', [], 'contao_default', 'cs') ?>

#5371

Na zakończenie:

Dziękuję, za dotarcie tak daleko. Na koniec jeszcze jedna prośba:

Istnieje wiele sposobów wspierania Contao. Każde wsparcie jest ważne. Tylko w ten sposób Contao może być dalej rozwijane w dłuższej perspektywie. Nawet liczne rozszerzenia nie mogą być brane za pewnik. Każdy cieszy się z drobnych podziękowań i nowych zamówień. W końcu wszyscy na tym korzystamy.

Wspierasz już Contao? W takim razie chciałbym skorzystać z okazji i podziękować.

Czekam na inspirujące komentarze, nie krępuj się sugerować zmiany dla Contao 5.2.

A teraz coś niezupełnie innego: Christian z Contao Academy zrobił fantastyczny film o nowych funkcjach Contao 5.1.

Oryginalny news: Marcus Lelle

Arkadiusz Bauman