-

Moduł Drupala Field – rozszerz jego możliwości z 10 przydatnymi modułami

Czy zdarzyło Ci się stworzyć formularz w Drupalu, który miał kilkanaście pól i wyglądał jak długa lista bez ładu i składu? A może chciałeś ograniczyć liczbę znaków w polu tekstowym, ale nie wiedziałeś, jak to zrobić bez programowania? Te oraz wiele innych problemów rozwiązuje 10 modułów rozszerzających standardowy moduł Drupala Field. Narzędzia, które przedstawię w tym artykule warto znać, jeśli jesteś administratorem lub product ownerem strony na Drupalu. Tekst bazuje na moim filmie z kanału Nowoczesny Drupal.

Dlaczego warto rozszerzać moduł Field w Drupalu?

Moduł Field należy do najważniejszych elementów Drupala - pozwala tworzyć niestandardowe pola dla różnych typów treści. Jednak możliwości zawarte w rdzeniu Drupala często nie wystarczają do realizacji bardziej zaawansowanych wymagań. Właśnie dlatego społeczność Drupal stworzyła dziesiątki modułów rozszerzających moduł Field.

Narzędzia, które omówię, rozwiązują konkretne problemy napotykane w codziennej pracy z systemem. Każdy z nich został przetestowany przez tysiące instalacji i jest aktywnie rozwijany przez społeczność.

1. Field Group - organizacja pól w logiczne sekcje

Field Group to moduł, który powinien znajdować się w każdej instalacji Drupala. Jeśli pracujesz z formularzami zawierającymi więcej niż 5-10 pól, ten moduł znacznie ułatwi Ci życie.

Główne funkcje Field Group:

  • grupowanie pól w logiczne sekcje,
  • tworzenie zakładek dla lepszej organizacji,
  • zestawy pól i akordeony.

Przykład zastosowania

W systemie e-commerce w formularzu do dodawania produktu możesz stworzyć oddzielne grupy dla atrybutów związanych z opisami produktów, parametrami technicznymi, ceną oraz SEO. Dzięki temu redaktor otrzymuje formularz podzielony na przejrzyste sekcje zamiast długiej listy pól.

Moduł Filed Group ma ponad 300 tysięcy instalacji, co potwierdza jego stabilność i aktywny rozwój przez społeczność.

2. MaxLength - kontrola długości tekstu z licznikiem znaków

MaxLength to prosty, ale niezwykle przydatny moduł pozwalający ustawić limit znaków w polach tekstowych. Dodatkowo wyświetla licznik pozostałych znaków, co pomaga użytkownikom kontrolować długość wprowadzanego tekstu.

Wykorzystanie modułu MaxLength:

  • ograniczanie długości opisów produktów,
  • zarządzanie długością meta opisów,
  • standaryzacja długości wpisów.

Przykład zastosowania

W systemie ogłoszeń możesz ustawić limit 500 znaków dla treści ogłoszenia. Użytkownik podczas pisania widzi, ile znaków mu pozostało, co pomaga mu zmieścić się w wyznaczonych ramach.

Moduł współpracuje z różnymi typami pól: plain text, text area oraz edytorem CKEditor, co czyni go uniwersalnym narzędziem do kontroli długości tekstu.

3. Address - obsługa formatów adresowych z 200 krajów

Moduł Address rozwiązuje problem różnorodności formatów adresowych na całym świecie. Obsługuje formaty adresów dla 200 różnych krajów, automatycznie dostosowując formularz do wybranej lokalizacji. Każdy kraj ma swoje specyficzne wymagania, które ten moduł obsługuje.

Kluczowe funkcje modułu Address:

  • automatyczne dostosowanie formularza do wybranego kraju,
  • wbudowana walidacja kodów pocztowych,
  • obsługa różnych formatów adresowych,
  • sprawdzanie zgodności kodu pocztowego z krajem.

Przykład zastosowania

W Polsce używamy innego formatu kodu pocztowego (XX-XXX) niż np. w Stanach Zjednoczonych (XXXXX). Moduł Address automatycznie dostosowuje walidację i format pól do wybranego kraju, eliminując potrzebę ręcznego programowania tych różnic.

Ten moduł jest szczególnie przydatny w sklepach internetowych i systemach CRM, gdzie są przechowywane adresy klientów lub organizacji z różnych krajów.

4. Link Attributes - rozszerzone atrybuty dla linków

Standardowe pole linku w Drupalu pozwala jedynie na dodanie URL-a i tekstu linku. Moduł Link Attributes znacznie rozszerza te możliwości, umożliwiając ustawienie dodatkowych atrybutów HTML.

Można dodać: 

  • target="_blank" - otwieranie linku w nowej karcie,
  • klasy CSS do stylizacji linków,
  • rel="nofollow" dla optymalizacji SEO,
  • inne atrybuty HTML bez znajomości kodu.
Slajd z funkcjonalnościami i zaletami modułu Drupala Link Attributes

 

Przykład zastosowania

To narzędzie jest szczególnie cenne dla redaktorów, którzy nie znają HTML-a, ale chcą mieć kontrolę nad zachowaniem linków na stronie. Dzięki temu modułowi redaktorzy mogą samodzielnie decydować, czy link ma się otwierać w nowej karcie, jakie ma mieć style CSS czy atrybuty SEO, bez konieczności angażowania programistów.

5. Select2 - nowoczesne pola wyboru z wyszukiwaniem

Select2 należy do najpopularniejszych modułów usprawniających interfejs Drupala. Zamienia standardowe pole wyboru (select) na nowoczesne, z możliwością wyszukiwania.

Główne funkcje Select2:

  • wyszukiwanie w długich listach opcji,
  • nowoczesny, responsywny interfejs,
  • obsługa wielu terminów i kategorii,
  • filtrowanie opcji podczas pisania.

Przykład zastosowania

Jeśli masz listę z dziesiątkami kategorii produktów, użytkownik nie musi przewijać całej listy. Wystarczy, że wpisze kilka liter nazwy kategorii, a pole wyboru automatycznie pokaże odpowiednie wyniki dopasowane do wprowadzonego tekstu.

To szczególnie przydatne w systemach z rozbudowanymi taksonomiami, gdzie standardowe pola wyboru stają się nieczytelne i trudne w obsłudze.

6. Client-side Hierarchical Select - hierarchiczny wybór bez AJAX

Moduł CSHS (Client-side Hierarchical Select) to widget do hierarchicznego wybierania terminów taksonomii. W przeciwieństwie do podobnych rozwiązań, całe drzewo taksonomii ładuje się od razu przy starcie strony, bez konieczności używania AJAX-a.

Kluczowe cechy CSHS:

  • ładowanie całego drzewa przy starcie,
  • brak opóźnień związanych z AJAX-em,
  • hierarchiczny wybór: kategoria → podkategoria,
  • szybka nawigacja po stronie klienta.

Przykład zastosowania

Proces wyboru wygląda następująco: najpierw wybieramy główną kategorię, potem podkategorię itd. Wszystko dzieje się po stronie klienta za pomocą JavaScript, bez przeładowywania strony. To znacznie przyspiesza nawigację i korzystanie z hierarchicznych widgetów, ponieważ nie musimy czekać, aż system załaduje nową porcję danych z serwera przez AJAX przy każdym kroku wyboru.

Widok modułu Client-side Hierarchical Select w Drupalu

 

7. Smart Trim - inteligentne skracanie tekstu z HTML

Smart Trim to ulepszenie standardowego formatera Summary w rdzeniu Drupala. Rozwiązuje problemy związane z ograniczeniami podstawowego formatera, który nie obsługuje w pełni HTML-a i czasem ucina słowa w połowie.

Funkcje Smart Trim:

  • skracanie tekstu do określonej liczby słów (zamiast znaków),
  • zachowanie struktury HTML,
  • brak łamania tagów HTML,
  • opcja usunięcia wszystkich tagów HTML.

Przykład zastosowania

Ten moduł jest szczególnie przydatny na stronach z listami artykułów lub fragmentów treści, gdzie chcesz zachować określoną długość opisów, aby układ strony wyglądał spójnie i estetycznie.

8. Field Permissions - precyzyjna kontrola dostępu do pól

Standardowo Drupal w swoim rdzeniu pozwala kontrolować uprawnienia dla całej jednostki treści lub typu węzła - możesz edytować cały węzeł. Moduł Field Permissions umożliwia ustawienie uprawnień na poziomie poszczególnych pól.

Ustawianie niestandardowych uprawnień do pól w module Drupala Field Permissions

 

Funkcje Field Permissions:

  • ograniczenie edycji wrażliwych pól,
  • różne uprawnienia dla różnych ról,
  • kontrola dostępu do danych finansowych,
  • zarządzanie uprawnieniami zewnętrznych współpracowników.

Przykład zastosowania

W systemie zarządzania produktami mamy pole ceny, które chcemy ograniczyć tylko do zaufanych użytkowników, ale jednocześnie chcemy dać dostęp do edycji opisu produktu agencji SEO. Dzięki modułowi Field Permissions możemy ustawić, że agencja SEO może edytować tylko opis produktu, ale nie ma możliwości zmiany ceny.

To daje bardzo precyzyjną kontrolę nad tym, kto może edytować które elementy treści, co jest kluczowe w większych organizacjach z różnymi rolami i odpowiedzialnościami.

9. File (Field) Paths - organizacja plików z tokenami

Moduł File (Field) Paths rozszerza standardowe możliwości przesyłania plików w Drupalu o funkcję używania tokenów do tworzenia struktury katalogów i nazw plików. Zamiast trzymać wszystkie pliki w jednym folderze, możesz je logicznie organizować.

Możliwości File (Field) Paths:

  • automatyczne sortowanie plików według daty (rok/miesiąc),
  • organizacja według typu treści lub produktu,
  • tworzenie katalogów z ID elementów,
  • logiczne grupowanie powiązanych plików.

Przykłady zastosowania

Jeśli masz produkty i chcesz stworzyć kilka obrazów powiązanych z każdym produktem, możesz utworzyć strukturę katalogów "produkt/ID_produktu/nazwa_pliku", dzięki czemu wszystkie obrazy dotyczące konkretnego produktu trafią do jednego folderu.

Moduł File (Field) Paths znacznie ułatwia zarządzanie mediami, zwłaszcza na większych stronach z tysiącami czy nawet setkami tysięcy treści.

10. Inline Entity Form - tworzenie powiązanych treści

Inline Entity Form pozwala tworzyć powiązane elementy bezpośrednio z formularza dodawania głównej treści. Eliminuje to konieczność przełączania się między różnymi formularzami i znacznie usprawnia workflow redaktorów.

Slajd prezentujący funkcjonalności i zalety modułu Drupala Inline Entity Form.

 

Funkcje Inline Entity Form:

  • tworzenie powiązanych treści w jednym formularzu,
  • dodawanie odnośników do istniejących elementów,
  • eliminacja konieczności otwierania nowych okien,
  • płynny workflow dla redaktorów.

Przykład zastosowania

Mamy artykuły, do których można dodać powiązane dokumenty. Dokumenty to osobny typ treści, ale już na etapie tworzenia artykułu możemy kliknąć "utwórz nowy dokument". Nie musimy zamykać okna przeglądarki, otwierać nowego okna, tworzyć dokumentu osobno, a potem wracać do artykułu, aby dodać do niego odnośnik. Wszystko robimy z poziomu jednego formularza - możemy od razu stworzyć powiązany obiekt lub dodać odnośnik do istniejącego dokumentu. To znacznie przyspiesza pracę i redukuje liczbę kroków potrzebnych do stworzenia pełnej treści z powiązaniami.

Rozszerzenie możliwości modułu Drupala Field - podsumowanie

Przedstawione 10 modułów znacznie rozszerza możliwości standardowego modułu Field w Drupalu. Konfiguracja większości z nich jest prosta i zazwyczaj wymaga jedynie kilku kliknięć w interfejsie administracyjnym. Najważniejsze jest zrozumienie, że takie narzędzia istnieją i mogą znacznie ułatwić pracę z Drupalem.

Jeśli potrzebujesz pomocy we wdrożeniu tych modułów lub dostosowaniu Drupala do swoich potrzeb, specjaliści z naszej agencji Drupala chętnie Ci pomogą. Jako jedyny certyfikowany partner Drupala w Polsce, specjalizujemy się w tworzeniu zaawansowanych rozwiązań opartych na tej platformie.

Ten artykuł powstał na bazie materiału wideo. Zapraszamy do subskrybowania kanału, gdzie w każdy piątek o 12:00 publikujemy nowe filmy o Drupalu i technologiach open source.

-