-

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

  1. W panelu administratora tworzymy (lub edytujemy) widok wyświetlający wszystkie produkty (np. silniki).
  2. Dodajemy filtry według wybranych parametrów, takich jak tytuł, moc, pojemność.
  3. Dzięki filtrom można łatwo zawęzić liczbę wyświetlanych pozycji, co w przypadku setek lub tysięcy produktów jest bardzo wygodne.
Ekran z widokiem silników na przykładowej stronie firmy produkcyjnej na Drupalu.

 

Krok 2: Dodanie kolumny Views Bulk Operations (VBO)

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

 

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.

Konfiguracja akcji masowych dla produktów na stronie firmy produkcyjnej na Drupalu z Views Bulk Operations.

 

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:

  1. Wpisać w filtrze „Highway Star”.
  2. Zaznaczyć wyświetlone produkty.
  3. Wybrać akcję „Modify field values”.
  4. Wprowadzić nową wartość (np. pojemność = 2000).
  5. Zatwierdzić i zapisać zmiany.

W kilka sekund zmienimy jedną właściwość w wielu produktach naraz, bez konieczności edytowania każdego elementu indywidualnie.

Lista silników „Highway Star” na przykładowej stronie firmy produkcyjnej na Drupalu.


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.

Przykład eksportu masowej ilości danych z Drupala przy użyciu RESTful Web Services.

 

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

  1. W Drupalu 8/9/10 włączamy moduł RESTful Web Services w sekcji „Rozszerzenia” (Module).
  2. Upewniamy się, że format JSON jest dostępny (zwykle jest włączony domyślnie).

Krok 2: Stworzenie nowego widoku typu „REST export”

  1. Tworzymy lub klonujemy istniejący widok wyświetlający nasze produkty.
  2. Dodajemy nowy wyświetlacz (Display) typu REST export.
  3. 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.

 Ekran z widokiem ustawień w Drupalu na potrzeby tworzenia powiązania dla plików i obrazów w produktach.

 

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.

Ekran z widokiem weryfikacji działania utworzonego endpointu po wystawianiu danych z API w Drupalu.

 

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.

.