WordPress vs. Joomla – widżety/moduły

Moduły są odpowiednikami WordPressowych widżetów – ogólnie rzecz biorąc to rozszerzenia, które odpowiadają za wygenerowanie fragmentu podstrony według potrzeb użytkownika i funkcjonalności rozszerzenia.

W obu wypadkach takie rozszerzenie posiada własne ustawienia, które wpływają na wygląd wyświetlanych przez rozszerzenie informacji:

joomla_module_settings

 

wordpress_widget_settings

Do wyświetlania tych fragmentów wykorzystywane są pozycje modułów/panele boczne. W wypadku WordPressa widżetami zarządzamy na pojedynczej podstronie kokpitu:

wordpress_widget_manager

Widżety przenosimy z listy na określone panele boczne i tam od razu konfigurujemy. Od razu też widzimy listę wszystkich dostępnych widżetów.

W wypadku Joomla! mamy listę modułów: :

menu_2_1

a przypisań dokonujemy przy dodawaniu/edycji modułu:

joomla_module_sidebar_assignment

Wyboru rodzaju modułu dokonujemy po kliknięciu przycisku „Dodaj moduł”:

joomla_module_type_selector

Co bardzo ważne – w wypadku Joomla! możemy przy dodawaniu/edycji modułu wykonać następujące operacje, które natywnie nie są dostępne w WordPressie:

  • przypisanie modułu do konkretnych pozycji menu (w wypadku WordPressa potrzebujemy wtyczki np. Widget Logic)
  • określenie czy moduł ma być od razu wyświetlany czy np. po pewnym czasie (tu również zadziała Widget Logic)
  • możemy wyłączyć wyświetlanie się tytułu modułu (w wypadku WordPressa potrzebujemy wtyczki lub filtra)
  • możemy wyświetlić widżet dla określonej grupy użytkowników (tutaj również powinien pomóc Widget Logic)
  • możemy kopiować całe moduły (Oczywiście jest od tego wtyczka dla WordPressa)

Wrażenia?

Widżetami w WordPressie zarządza się bardzo przyjemnie, jeżeli mamy kilka paneli bocznych i niezbyt dużą liczbę widżetów. Przy większych ilościach można się łatwo pogubić. Główną bolączką zarządzania widżetami w WordPressie jest to, że interfejs jest przystosowany raczej do mniej rozbudowanych motywów i witryn. W momencie gdy mamy kilkanaście zainstalowanych widżetów oraz kilkadziesiąt paneli bocznych, zarządzanie widżetami zaczyna być uciążliwe. Pewne zmiany wnosi odświeżony panel administracyjny WordPressa 3.8 – panele boczne wyświetlane są w dwóch kolumnach:

wordpress_3_8_back_end

a dodatkowo widżet można przypisać do panelu bez przenoszenia go metodą drag’n’drop:

wordpress_3_8_back_end_improvements

Z racji tego, że WordPress coraz częściej wybierany jest jako platforma do bardziej rozbudowanych stron internetowych, możemy się spodziewać w najbliższych wydaniach kolejnych usprawnień.

W wypadku Joomla! mamy do czynienia z kompleksowym systemem, które zapewnia nam rozwiązania dla problemów z którymi możemy się spotkać posiadając stronę z dużą ilością modułów – choć z mniej wygodnym interfejsem niż w WordPressie. Najbardziej brakuje mi możliwości szybkiego porównania ustawień widżetów – trzeba otworzyć dwie oddzielne podstrony aby przejrzeć ustawienia – w wypadku WordPressa wystarczy rozwinąć dwa bloki na tej samej stronie.

Z developerskiego punktu widzenia?

Cechą wspólną dla WordPressa i Joomli! jest możliwość otoczenia modułu/widżetu dodatkowymi kontenerami (Module Chrome vs. register_sidebar).

W WordPressie brakuje możliwości łatwego określenia dodatkowej klasy CSS dla widżetu – w Joomla mamy od tego opcję module class suffix, która pozwala zdefiniować klasę CSS, która zostanie dodana do konkretnego modułu i tym samym pozwoli na łatwą zmianę jego wyglądu bez naruszania wyglądu pozostałych instancji danego widżetu. Jednym z rozwiązań w WordPressie jest wykorzystanie filtra dynamic_sidebar_params.

W obu CMS-ach możemy się łatwo dobrać do tytułu i treści modułu/widżetu – w wypadku WordPressa osiągniemy to poprzez filtry widget_title i widget_text (o ile dany widżet wspiera ten filter), a w wypadku Joomla! możemy to osiągnąć poprzez odpowiedni kod PHP w funkcji generującej otoczkę modułu, gdzie mamy dostęp do pól title i content.

Z drobiazgów, które trochę mnie irytują – długość tytułu modułu w Joomla! jest ograniczona do 100 znaków – to czasami trochę za mało, gdy chcemy uzyskać niektóre efekty, w wypadku WordPressa takiego ograniczenia nie ma, ale wynika to z różnic w sposobie przechowywania informacji o rozszerzeniach w tych CMS-ach.

Podsumowanie

Temat modułów i widżetów dobitnie pokazuje granice zastosowań Joomla! i WordPressa. WordPress ma wygodny panel zarządzania widżetami, ale wygodny do pewnego momentu. Panel w Joomla! jest mniej wygodny, ale sprawdza się przy większej ilości modułów, no i oferuje dużo więcej wbudowanych funkcjonalności. WordPressa w większości wypadków można wzbogacić o te brakujące funkcjonalności, ale muszę przyznać, że chyba jeszcze nikomu nie udało się rozwiązać problemu zarządzania dużą ilością widżetów na stronie (istnieją różne ciekawe rozwiązania np. tworzące dedykowane dla podstron panele boczne lub wręcz całe edytory podstron, ale to wciąż nie są rozwiązania idealne).