Rzeczy, których żałuję, że nie wiedziałem o Drupal, gdy zaczynałem

Bezkompromisowa, sprawdzona w boju lista dla początkujących i średniozaawansowanych developerów Drupal w 2025 roku. Te lekcje oszczędziłyby mi setek godzin bólu.


1. Drupal to przede wszystkim narzędzie do modelowania treści, a dopiero potem CMS

Większość ludzi traktuje Drupal jak WordPress. To najszybsza droga, by go znienawidzić.

Kluczowa zmiana myślenia: budujesz model danych (encje, pola, bundlle, paragrafy, układy), a potem pozwalasz Drupalowi to wyrenderować. Im szybciej przestawisz się na „konfiguracja zamiast kodu” przy strukturze treści – tym będziesz szczęśliwszy.

2. Nigdy, przenigdy nie modyfikuj core ani modułów contrib

Robiłem to w 2012 roku. Do dziś mam koszmary.

Zasada nr 1 w Drupal: jeśli otworzyłeś plik w /core lub /modules/contrib i chcesz coś zmienić – natychmiast zamknij edytor. Użyj patcha, hooka, pluginu lub własnego modułu.

3. Opanuj Configuration Management od pierwszego dnia (Drupal 8+)

# Eksport
drush config:export

# Import na innym środowisku
drush config:import

# Sprawdź różnice
drush config:status

Robienie tego od początku uratuje cię przed klasycznym „u mnie działa”.

4. Używaj Composer prawidłowo – nie tylko do instalacji Drupal

Źle (co robi większość początkujących):

composer create-project drupal/recommended-project

Dobrze (co naprawdę powinieneś robić):

composer create-project drupal/recommended-project my-site --no-interaction
cd my-site
composer require drupal/ctools drupal/token drupal/pathauto

Nigdy więcej nie pobieraj modułów z drupal.org jako ZIP.

5. Entities > Nodes

Przestań myśleć, że wszystko musi być „node”. Używaj własnych encji, gdy ma to sens.

6. Paragraphs vs Layout Builder vs Custom Blocks – kiedy co używać

MożliwośćParagraphsLayout BuilderCustom Blocks
Wielokrotne użycieTakNie (tylko na danym obiekcie)Tak
Swoboda układu na stronieNieTakOgraniczona
WydajnośćŚredniaNiższaNajlepsza
Doświadczenie redaktoraBardzo dobreŚwietnePodstawowe

Moja zasada w 2025: Paragraphs – do komponentów wielokrotnego użytku, Layout Builder – tylko gdy klient wymaga pełnej wolności na każdej stronie (i masz agresywne cache’owanie).

7. Cache tags, cache contexts i render arrays to twoi najlepsi przyjaciele

Jeśli strona jest wolna, a ty nie używasz tagów cache – robisz coś źle.

$build = [
  '#markup' => $text,
  '#cache' => [
    'tags' => ['node:123'],
    'contexts' => ['url'],
    'max-age' => Cache::PERMANENT,
  ],
];
return $build;

8. Drush (i Drupal Console) nadal są niezbędne w 2025

# Czyść cache
drush cr

# Aktualizuj bazę po zmianach kodu
drush updatedb -y

# Włącz moduł
drush en nazwa_modułu -y

9. Nowoczesne narzędzia – zapomnij o FTP

10. Najbardziej niedoceniany moduł: Admin Toolbar

Zainstaluj Admin Toolbar na każdej stronie. Zamienia domyślne menu administracyjne z koszmarnego w znośne.

11. Twig jest świetny – przestań używać PHP w szablonach

Źle (styl Drupal 7):

Dobrze:

{{ some_variable }}

Naucz się też without, filter, modułu Twig Tweak oraz komendy drush twig:debug.

12. Views nie jest na wszystko

Views jest potężne, ale czasem prosty EntityQuery lub własny kontroler jest szybszy i czystszy.

13. Zawsze używaj ścisłej typizacji i nowoczesnego PHP

W każdym własnym module i klasie:

declare(strict_types=1);

Drupal 10+ działa rewelacyjnie z atrybutami, enumami i readonly class na PHP 8.2+.

14. Społeczność to wciąż najlepsza część Drupala

Ostatnia myśl

Drupal nie jest trudny. Jest po prostu inny. Gdy raz zaakceptujesz jego filozofię (encje, dependency injection, zarządzanie konfiguracją, hooki/pluginy/serwisy), staje się jedną z najpotężniejszych i najbardziej elastycznych platform na świecie.


Napisane przez developera Drupala, który sparzył się na każdej z powyższych błędów – żebyś Ty nie musiał.