
Jak masowo edytować produkty w Drupalu? Z Views Bulk Operations i API
Zarządzanie dużą liczbą produktów na stronie może być trudne i czasochłonne, zwłaszcza gdy dane często się zmieniają, a partnerzy biznesowi potrzebują szybkiego dostępu do aktualnych informacji. Drupal oferuje rozwiązania, które znacząco ułatwiają te procesy. W poniższym wpisie pokażę, jak w tym systemie przygotować wygodny panel administracyjny do edycji wielu produktów jednocześnie. Zachęcam do przeczytania artykułu lub obejrzenia odcinka z serii Nowoczesny Drupal.
Wyzwania w zarządzaniu dużą liczbą produktów
Firmy produkcyjne często posiadają w swojej ofercie setki, a nawet tysiące produktów. Zarządzanie takim asortymentem wymaga odpowiednich narzędzi, które pozwolą na:
- szybkie wyszukiwanie i edytowanie danych,
- grupowe aktualizacje parametrów produktów,
- automatyczne udostępnianie informacji partnerom biznesowym.
Manualne zarządzanie produktami na stronie firmy produkcyjnej byłoby niezwykle czasochłonne i podatne na błędy. Drupal umożliwia automatyzację wielu procesów, co znacząco usprawnia pracę z dużymi zbiorami danych.
Masowa edycja produktów w Drupalu
Zarządzanie produktami w Drupalu ułatwia pracę administratorom strony, a kontrahentom zapewnia automatyczny dostęp do zawsze aktualnych informacji o produktach. Rozwiązania przedstawione w tym blog poście bazują na przykładzie hipotetycznej firmy produkującej silniki spalinowe dla łodzi.
W artykule o tym, jak stworzyć wygodną witrynę dla branży produkcyjnej pokazywałem, jak zbudować podstawową strukturę stron w Drupalu, dodaliśmy m.in. pola “moc” i “pojemność”, a także widoki prezentujące listę produktów. Teraz pójdziemy krok dalej, konfigurując moduły i funkcje, które usprawnią zarządzanie dużym katalogiem produktów oraz umożliwią łatwą integrację przez API.
Jakich modułów będziesz potrzebować?
Na potrzeby tego rozwiązania dodajemy do Drupala następujące moduły:
- Views Bulk Operations – umożliwia masowe operacje na wielu obiektach (np. edycję pól).
- Views Bulk Edit – w zależności od wersji Drupala czasem wymagane są dodatkowe paczki tego modułu.
- Restful (RESTful Web Services) – to moduł dostępny w rdzeniu Drupala, który posłuży nam do wystawienia danych w formacie JSON.
Dwa pierwsze moduły pobieramy ze strony Drupal.org, trzeci jest już wbudowany w Drupala. Na potrzeby tego artykułu zakładamy, że wszystkie moduły są zainstalowane i aktywne.
Rozbudowa panelu administracyjnego – edycja wielu produktów jednocześnie
Na naszej stronie w panelu administratora mamy widok, który wyświetla wszystkie produkty (silniki). W tym widoku można wyszukiwać po różnych parametrach, np. tytule, mocy, pojemności. Na podstawie tych danych przygotujemy widok administracyjny w Drupalu.
Krok 1: Przygotowanie widoku administracyjnego
- W panelu administratora tworzymy (lub edytujemy) widok wyświetlający wszystkie produkty (np. silniki).
- Dodajemy filtry według wybranych parametrów, takich jak tytuł, moc, pojemność.
- Dzięki filtrom można łatwo zawęzić liczbę wyświetlanych pozycji, co w przypadku setek lub tysięcy produktów jest bardzo wygodne.

Krok 2: Dodanie kolumny Views Bulk Operations (VBO)
- W edycji widoku zmieniamy Format widoku na Views Bulk Operations.
- W miejscu, gdzie dotąd mieliśmy np. tabelę z listą produktów, teraz będziemy mogli zaznaczać wiele wierszy jednocześnie.
- Warto przesunąć kolumnę z checkboxami (do zaznaczania) na początek i sprawdzić, czy etykieta kolumny jest przyjazna (np. „Edytuj”).

Krok 3: Konfiguracja akcji masowych
W ustawieniach VBO w sekcji „Actions” wybieramy, jakie masowe operacje będą dostępne.
Przykładowe akcje to:
- Modify field values (zmiana wartości pól, np. pojemności z 1200 na 1500 w wielu produktach naraz),
- Wstrzymaj publikację (wycofanie produktu z widoku publicznego),
- Generate CSV from selected view (eksportowanie danych np. do Excela),
- Usuń treść (kasowanie nieaktualnych produktów).
Views Bulk Edit (VBE) może dodatkowo umożliwić edycję treści bezpośrednio w tabeli albo w uproszczonym formularzu. Pamiętaj, że czasem do działania VBE mogą być wymagane dodatkowe moduły.

Masowa edycja produktów na przykładzie „Highway Star”
Na naszej stronie mamy produkty z silnikami “Highway Star” i to na ich przykładzie pokażę, jak masowo je zedytować. Jeśli wszystkie produkty, których nazwa zawiera „Highway Star”, mają mieć identyczną pojemność, wystarczy wykonać kilka prostych kroków:
- Wpisać w filtrze „Highway Star”.
- Zaznaczyć wyświetlone produkty.
- Wybrać akcję „Modify field values”.
- Wprowadzić nową wartość (np. pojemność = 2000).
- Zatwierdzić i zapisać zmiany.
W kilka sekund zmienimy jedną właściwość w wielu produktach naraz, bez konieczności edytowania każdego elementu indywidualnie.

Podobnie można postąpić z mocą silnika lub dowolnym innym polem, które dodaliśmy do produktu.
Zastosowanie Views Bulk Operations w szerszym kontekście
Za pomocą Views Bulk Operations można zbiorczo zarządzać bardzo różnymi danymi, takimi jak:
- Dostępność produktu (np. poprzez aktualizację statusu „Dostępny”/„Niedostępny”),
- Kategorie i tagi (przypisywanie wielu produktów do nowej kategorii),
- Parametry liczbowe, takie jak moc, pojemność, wymiary etc.
Jeżeli skonfigurujemy filtry w widoku, możemy najpierw precyzyjnie wybrać grupę produktów (np. w oparciu o SKU, kategorie, zakres dat wprowadzenia), a potem zaznaczyć je wszystkie i ustawić wybraną akcję masową.
W przypadku bardzo dużej liczby produktów (setek czy tysięcy) Drupal może zająć się przetwarzaniem zbiorczym (tzw. batch processing), co pozwala skutecznie zaktualizować wiele wpisów za jednym zamachem.
Eksport danych o produktach z użyciem API
Coraz częściej firmy oczekują, że wymiana informacji o produktach będzie odbywać się bezpośrednio między systemami – bez konieczności ręcznego przesyłania plików typu Excel czy PDF. Taką możliwość mamy w przypadku użycia Drupala i zastosowania API.
Główne korzyści z użycia API:
- Zawsze aktualne dane o specyfikacji, dostępności czy cenach.
- Oszczędność czasu dzięki eliminacji ręcznego wprowadzania danych.
- Mniejsze ryzyko błędów i automatyzacja procesów po stronie partnerów.
Wyobraźmy sobie sytuację, w której nasz partner handlowy codziennie potrzebuje najnowszych informacji o pojemności, dostępności czy mocy silników. Bez API musielibyśmy każdorazowo generować i wysyłać nową wersję pliku, a partner manualnie aktualizowałby swój system. API rozwiązuje ten problem: wystarczy, że nasz kontrahent pobierze dane spod konkretnej ścieżki (np. /export) i już zawsze ma aktualną listę produktów.

Dla naszego przykładu stworzyłem bardzo proste API, które pokazuje tylko cztery dane:
- nazwę produktu,
- moc,
- pojemność,
- link do specyfikacji technicznej oraz link do zdjęcia.
Krok 1: Włączenie usługi REST
- W Drupalu 8/9/10 włączamy moduł RESTful Web Services w sekcji „Rozszerzenia” (Module).
- Upewniamy się, że format JSON jest dostępny (zwykle jest włączony domyślnie).
Krok 2: Stworzenie nowego widoku typu „REST export”
- Tworzymy lub klonujemy istniejący widok wyświetlający nasze produkty.
- Dodajemy nowy wyświetlacz (Display) typu REST export.
- Ustalamy ścieżkę, np. /export, pod którą Drupal będzie udostępniał dane.
Krok 3: Wybór pól do API
Warto zrezygnować z wyświetlania pełnej encji (opcja „Entity”), ponieważ mogłoby to zawierać niepotrzebne informacje (jak data publikacji czy autor). Zamiast tego wybieramy format Fields i wskazujemy konkretne pola, np.:
- Tytuł produktu (np. nazwa silnika),
- Moc,
- Pojemność,
- Link do pliku PDF (np. specyfikacja techniczna),
- Link do zdjęcia (aby kontrahenci mogli wyświetlać grafikę u siebie).
Krok 4: Powiązania (relationships) dla plików i obrazów
Jeśli potrzebujemy pełnych ścieżek do plików, w sekcji Relationships dodajemy powiązania z mediami lub plikami.

Dzięki temu w formacie JSON pojawią się poprawne linki (URL).
Krok 5: Sprawdzenie działania endpointu
Po zapisaniu widoku wystarczy wejść pod ścieżkę /export (lub inną ustaloną). Zobaczymy tam dane naszych produktów w formacie JSON.

Dzięki temu możemy sprawdzić, czy informacje o produktach są prawidłowo wyświetlane, a partnerzy biznesowi mogą pobierać zaktualizowaną listę produktów automatycznie – nawet co godzinę.
Masowa edycja produktów z Views Bulk Operations i API - podsumowanie
W Drupalu możemy w prosty sposób stworzyć interfejs do zarządzania dużą liczbą produktów, korzystając z modułu Views Bulk Operations (i ewentualnie Views Bulk Edit, jeśli potrzebujemy bardziej zaawansowanych opcji edycji). Dzięki temu administrator nie musi każdej aktualizacji wykonywać osobno – wystarczy zaznaczyć potrzebne produkty i zmienić wybrany atrybut.
Opcja REST export umożliwia z kolei szybkie wystawienie danych w formacie JSON. Dzięki temu nasi kontrahenci lub partnerzy biznesowi mogą automatycznie pobierać aktualne informacje o produktach (np. o specyfikacji, dostępności czy cenach), co znacznie oszczędza czas i minimalizuje błędy.
To rozwiązanie sprawdza się szczególnie w firmach, które oferują szeroki asortyment. Łącząc masową edycję z automatycznym udostępnianiem danych, mogą zwiększać efektywność pracy i uproszczać codzienne zarządzanie produktami. Jeśli potrzebujesz wsparcia w zaawansowanej konfiguracji witryny lub w ustawieniach Drupala, sprawdź naszą usługę rozwoju stron internetowych dla firm produkcyjnych.
—-
Ten artykuł powstał na bazie materiału wideo. Zapraszamy do subskrybowania kanału Nowoczesny Drupal, gdzie w każdy piątek o 12:00 publikujemy nowy film. Nasi eksperci prezentują rozwiązania lub gotowe narzędzia, które pomogą Ci wykorzystać pełen potencjał Drupala.