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 FeldernFü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_metatags2.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.
field_
wird von Drupal automatisch vor jeden Namen gestellt und ist fix und nicht veränderbarb_oderp_
folgt an zweiter Stelle und bezeichnet mit einem Buchstaben denEntity type.bundle nrodershared
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.field nameist 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