Skip to main content
Home
Schatzchaeschtli 2026

Main navigation

  • Home
User account menu
  • Log in

Breadcrumb

  1. Home

Drupal Namenskonventionen

By PierreAdmin , 19 September 2026

Diese Namenskonventionen sorgen dafür, dass alle meine Projekte einheitlich aufgebaut sind. Dateien, Felder und Objekte werden so benannt, dass sie im Code schnell zu finden und in den Listen im Backend sofort als von per.net erstellt erkennbar sind.

Grundsätze

  • Englisch: Machine names, CSS-Klassen, Dateinamen im Code und Code-Kommentare.
  • Deutsch: Labels und Beschreibungen im Backend. Sie müssen für den Kunden verständlich sein.

Dateinamen allgemein

Für Dokumente gelten folgende Konventionen:

  • ausschliesslich Kleinbuchstaben
  • Wörter werden mit `-` getrennt
  • Trennelement für bessere Lesbarkeit `--` getrennt
  • Wenn es der Lesbarkeit in längeren Listen dient, kann auch --- als Trenner verwendet werden.
  • Datum immer in der Form 2026-07-10, damit Listen richtig sortieren.

Beispiele:

   00--roadmap.md
   02--installation.md
   10--ideen-und-offene-punkte.md
   
   file---2026-12-31.md
   modestia---2026-07-10--14.30---before-core-update

 

Drupal

Folgende Namenskonventionen gelten

1 Views, Rollen, Blocktypen, Image Styles, Webforms, Taxonomien, Menus

Alle diese Elemente erhalten den per_ Präfix im Machine name und per --  im Label, damit sie in Listenansichten sofort als von per.net erstellte Elemente sichtbar sind. Das Label ist deutsch, der Machine name englisch.

Blocktypen erhalten nach dem per_ zusätzlich eine Nummer. Sie wird in den Feldnamen des Blocks wiederholt und basiert auf dem gleichen Prinzip wie Pragraphs (siehe 2.2).

Beispiele:

Label                        machine name               Element
-------------------------------------------------------------------------
per -- Arbeitsplan           per_working_table          View
per -- Event-Tabelle         per_event_table            View
per -- Dokumentation         per_documentation          Role
per -- Footer-Adresse        per_01_footer_address      Block type
per -- Fullwidth             per_fullwidth              Image style
per -- Vorschau              per_preview                Image style
per -- Anmeldung             per_registration           Webform
per -- Kategorien            per_categories             Taxonomie
per -- Sidebar-Menu          per_sidebar_menu           Menu
usw.

Elemente ohne Präfix

  • Inhaltstyp (Content type)
  • Paragraph type: erhält stattdessen p_ und eine Nummer (siehe 2.2)
  • Medientyp (Media type)

2 Felder

Felder werden grundsätzlich nicht mehrfach genutzt. Ausnahme sind Felder, die ganz klar eine einzige Aufgabe erfüllen und dadurch im gleichen Kontext mehrfach verwendet werden können. Z.B. ein Feld mit einer fixen Farbpalette, um Hintergrund-Farbklassen zuzuweisen. Solche Felder erhalten shared anstelle von Kürzel oder Nummer.

Längenlimit: Ein Feldname darf inklusive field_ höchstens 32 Zeichen lang sein.

2.1 Felder für Inhaltstypen, Taxonomien und Medientypen

Schema für Machine name:

field_[kürzel]_[field name]
field_shared_[field name]        bei mehrfach genutzten Feldern

Für das Kürzel werden möglichst eindeutige Abkürzungen verwendet, in der Regel drei Buchstaben.

Beispiele Kürzel:

eve = Event           (Inhaltstyp)
tea = Team            (Inhaltstyp)
new = News            (Inhaltstyp)
bas = Basic Page      (Inhaltstyp)
cat = Categories      (Taxonomie)
img = Image           (Medientyp)

Beispiele Felder:

Label            machine name
----------------------------------------------
Event-Schlüssel  field_eve_key
Datum            field_eve_date
Link             field_eve_link

Vorname          field_tea_first_name
Funktion         field_tea_function

Link             field_new_link

Farbe            field_cat_color
Bildlegende      field_img_caption

Metatags         field_shared_metatags

2.2 Felder für Blocktypen und Paragraphs

Für die Feldbenennung werden die Entity types Block und Paragraph gleich behandelt. Jedem Feld wird nach dem von Drupal automatisch vorangestellten field_ als erstes der Entity type als p_ (Paragraph) oder b_ (Block) mitgegeben, gefolgt von der Nummer des Bundles. An letzter Stelle folgt der Feldname. So ist jedes Feld eindeutig seinem Mutterelement zuweisbar.

  1. field_ 
    wird von Drupal automatisch vor jeden Namen gestellt und ist fix und nicht veränderbar
  2. b_ oder p_
    folgt an zweiter Stelle und bezeichnet mit einem Buchstaben den Entity type.
  3. bundle nr oder shared
    Als Bundle wird der konkrete Typ einer Entity bezeichnet, also ein bestimmter Paragraph type oder Blocktyp. Jedes Bundle erhält eine Nummer, die in den Namen der dazugehörigen Felder wiederholt wird.
    WICHTIG: Wird ein Feld mehrfach benutzt, steht hier anstelle der Bundle-Nummer shared.
  4. field name ist der letzte Teil der Namenskette und enthält den effektiven Feldnamen. Der Feldname soll der besseren Lesbarkeit wegen durch _ getrennt werden.

Schema:

Benennung der Bundles
---------------------
p_06_address               Paragraph type
per_01_footer_address      Blocktyp


Feld-Bezeichnung
----------------
field_[p oder b]_[bundle nr]_[field name]

field_p_06_first_name
field_p_06_image
field_p_06_street

field_b_01_text
field_b_01_phone

field_p_shared_bgcolor     mehrfach genutztes Feld in Paragraphs
usw.

Da die Labels im Backend wichtige Beschreibungen für den User sind, werden hier logische und klare deutsche Bezeichnungen verwendet.

Label                   machine name
----------------------------------------------
Kategorie Liste         p_01_category_list
News                    p_02_news
Event Archiv            p_03_event_archive

Abkürzungen
-----------
p_	= Paragraph
b_	= Block
  • drupal
  • drupal 11
  • konventionen
  • namen
  • naming
Drupal

Tag Suche

Categories (Taxonomie-Menu)

  • Drupal
    • Module
    • Theming
    • Views
  • Webentwicklung
    • Composer
    • CSS/SCSS
    • Deployment
    • Drush
    • Git
    • HTML
    • JavaScript
    • PHP
    • SSH
    • SVG
    • VS Code
  • Datenbank
    • mySQL
  • Server
    • Apache
    • DNS
    • Domains
    • Plesk
    • SSL/TLS
  • System
    • Mac
    • Unix
    • Windows