chevron-left chevron-right

Piotr Nalepa Frontend, architektura i AI

[Joomla!] Responsywne tabele w Joomla! 3.0

Ta wersja
blog.piotrnalepa.pl/2013/02/27/joomla-responsywne-tabele-w-joomla-3-0
Opublikowano
Autor
, Staff Software Engineer
Kategoria
Joomla!
Uwagi
Napisz do mnie · Napisz na X

Ten wpis ma 13 lat. Od tego czasu przeglądarki i narzędzia mogły się zmienić, więc zanim użyjesz kodu, sprawdź go z aktualną dokumentacją.

W dzisiejszym wpisie poruszę temat implementacji responsywnych tabel w Joomla!. Wpis został przygotowany na prosbę jednego z czytelników tego bloga.
Jako że, szczegóły implementacji zostały już opisane wcześniej to nie będę się powtarzał i po więcej informacji zapraszam do artykułu o tabelach responsywnych.

Sekcja 1Implementacja funkcjonalności w szablonie Joomla! 3.0

Zamierzam bazować na szablonie Beez 3, który jest podstawowym szablonem dla najnowszej wersji Joomla!. Jest on dostępny w każdej paczce instalacyjnej systemu, więc nie będzie problemów z dostępem do niego. W Joomla! 3.0 domyślną biblioteką JS jest biblioteka jQuery zamiast Mootools. To zdecydowanie zwiększa możliwości implementacji skryptów JS oraz uwalnia nas od problemu walczenia z konfliktami między bibliotekami jQuery i Mootools.

Przed przystąpieniem do prac, należy pamiętać aby plik zawierający plugin jQuery Footable zamieścić w katalogu szablonu (najlepiej w katalogu javascript). Będziemy się do niego odwoływać w pliku index.php (znajduje się w głównym folderze szablonu) za pomocą następującego kawałka kodu:

Przykład 1PHP
1
    $doc->addScript($this->baseurl . '/templates/' . $this->template . '/javascript/footable-0.1.js', 'text/javascript');

Cały od JS szablonu Beez 3 został umieszczony w sekcji HEAD szablonu (to nie jest zalecane rozwiązanie - spowalnia ładowanie się strony; kod JS należy umieszczać przed koncowym znacznikiem body) i tam też należy zamiescić powyższy kawałek kodu.
W podobny sposób należy umieścić plik z kodem JavaScript, który będzie się uruchamiał dla każdej tabeli znajdującej się w artykułach utworzonych w systemie Joomla!, a który zawiera następujący kod JS:

Przykład 2JavaScript
1
2
3
4
5
6
    $(function() {
        $('table', 'article[class^="item-page"]').footable({
            tablet: 768,
            phone: 480
        });
    });

Należy pamiętać o tym, aby stosować od tego momentu wymagany sposób zapisu tabel, w któ?ym będziemy definiować które kolumny mają się ukrywać w wybranym trybie wyświetlania strony. W innym wypadku, każda tabela będzie sie zachowywała tak, jakby funkcjonalność pluginu nie została zaimplementowana na stronie.

Sekcja 2Podsumowanie

Tak zaimplementowany plugin w systemie szablonów Joomla! pozwala na osiągnięcie wielu ciekawych efektów na stronie oraz poprawi czytelność tabel na urządzeniach mobilnych.
Dodatkowo, wyżej przedstawiony sposób implementacji skryptów JS przyda się w wielu innych sytuacjach, np.: poczas implementacji różnego rodzaju pluginów jQuery czy też innego kodu JS.

Udostępnij
Uwagi

O autorze

Staff Software Engineer

Piszę na tym blogu od 2009 roku, a strony i aplikacje webowe tworzę zawodowo od 14 lat. Obecnie w Bishop Fox prowadzę frontend platformy Cosmos, od samego początku projektu. Wcześniej pracowałem m.in. w OLX, KUDO, Auto1 i eZ Systems. Piszę tu o tym, czego nauczyłem się w praktyce: o JavaScripcie, TypeScripcie, Reakcie, CSS-ie i architekturze frontendu. Występowałem też jako prelegent na konferencjach w Polsce i Europie. Masz pytanie albo pomysł na wpis? Daj znać!