chevron-left chevron-right

[Joomla!] Responsywne tabele w Joomla! 3.0

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.

Implementacja 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:

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:

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.

Podsumowanie

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.