chevron-left chevron-right

Piotr Nalepa Frontend, architecture and AI

[Joomla!] Responsywne tabele w Joomla! 3.0

This version
blog.piotrnalepa.pl/2013/02/27/joomla-responsywne-tabele-w-joomla-3-0
Published
Author
, Staff Software Engineer
Category
Joomla!
Feedback
Write to me · Post on X

This post is 13 years old. Browsers and tools may have changed since then, so check the code against current documentation before you use it.

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.

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

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

Example 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.

Section 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.

Share
Feedback

About the author

Staff Software Engineer

I've been writing this blog since 2009 and building for the web professionally for 14 years. Today I lead the frontend of the Cosmos platform at Bishop Fox, where I've been since day one of the project. Before that I worked at OLX, KUDO, Auto1 and eZ Systems. Here I write about what I've learned in practice: JavaScript, TypeScript, React, CSS and frontend architecture. I've also spoken at conferences across Poland and Europe. Got a question or an idea for a post? Let me know!