Wielojęzyczne URLe serwisu
Do tej pory Contao raczej nie wspierało tworzenia wielojęzycznych serwisów, choć taką opcję niby dawało (także poprzez dodatkowe rozszerzenia). W tej wersji się to zmieni, a zmiany będą następujące:
Contao oficjalnie wspiera teraz oba warianty URLi:
http://en.domena.com/welcome.html http://pl.domena.com/welcome.html http://www.domena.com/en/welcome.html http://www.domena.com/pl/welcome.htmlW związku z tym pojawi się nowy moduł do przełączania między poszczególnymi wersjami językowymi. Prawdopodobnie jest to coś na wzór rozszerzenia Schemppa (changelanguage), choć tego jeszcze nie sprawdzałem.
Ponadto, usunięte zostanie pole języka z formularza edycji zwykłej podstrony. O języku wszystkich podstron będzie decydować konfiguracja punkt startowy.
Globalne zmienne CSS
Od teraz zmienne globalne styli będzie można deklarować w ustawieniach samego motwyu. Oczywiście nie zniknie opcja definiowania ich w poszczególnych rekordach stylów (czyli de facto w plikach). Gdy zajdzie sytuacja, w której obie zmienne w obu ustawieniach mają taką samą nazwę, lecz różne wartości, to "wygra" ta z rekordu stylów.
Ulepszony moduł FAQ
Wprowadzono system uprawnień w backendzie, podobny do tych z newsów czy kalendarza. Dodatkowo dostaniemy do dyspozycji nowy moduł FE, który wyświetli wszystkie pytania i odpowiedzi na jednej stronie (możemy na przykład zrobić z tego ładny akordeon ).
Archiwum i czytnik niusów na tej samej stronie
W ustawieniach modułu archiwum niusów (listy pewnie też), będziemy mogli wyświetlić pojedynczego niusa, pod warunkiem, że parametr _GET items ma jakąś tam wartość. W takim wypadku archiwum niusów zostanie automatycznie ukryte, więc można teraz elegancko wrzucić oba moduły na jedną stronę i przestać cudować z tworzeniem podstron.
/* PO STAREMU */ news.html // Archiwum niusów news-reader.html // Pusta strona news-reader/items/james-wilson.html // Pojedynczy nius "james-wilson" /* PO NOWEMU */ news.html // Lista nisuów news/items/james-wilson.html // Pojedynczy nius "james-wilson"
System tokenów uległ modernizacji
Do tej pory było tak, że na jedno żądanie przypadał jeden token. Było to trochę uciążliwe, szczególnie gdy powracaliśmy do formularza za pomocą przeglądarkowego przycisku "wstecz". Mechanizm został lekko zmieniony, bo teraz mamy jeden token na całą naszą sesję.
Zmiany w insert tagach
Pojawił się nowy insert tag {{page}}, dzięki któremu możemy dobrać się do wszystkich parametrów aktualnej strony. Przykładowo, jeśli chcemy wyłuskać jej ID: {{page::id}}. Jest to odpowiednik phpowskiego:
global $objPage; echo $objPage->id;
Punkty startowe są wymagane
W końcu punkty startowe serwisów stały się wymagane. Mimo, że od zawsze rekomendowane było ich tworzenie, to spora rzesza użytkowników zaczynała tworzyć serwis od zwykłych podstron. Przed updatem do wersji 2.11 radzę sprawdzić i ewentualnie zmodyfikować strukturę stron.