Skip to Content

Eigenen Node-Type programmieren

Der Vorteil einer Eigenprogrammierung liegt in dem exakten Funktionsumfang der den zusätzlichen Aufwand oftmals lohnt. Ein eigener Node setzt immer auf dem Standard-Node in Drupal auf. Man kann über diverse Hook's seine eigenen Anforderungen umsetzen. Dabei programmiert man praktisch immer ein Add-On auf die Default-Funktionen. Zusätzlich zum .info und .module-File wird meist noch ein .install-File benötigt. Hierin wird eine Anpassung der Datenbank gemacht. Es gibt i. R. eine Funktion zur Installierung und eine Funktion zum Deinstallieren. Im .module-File sollten folgende Funktionen ausprogrammiert werden:

_node_info()
Gibt "Grundeinstellungen" des eigenen Nodes bekannt.
_menu($may_chache)
Einhängen des Nodes in das Menü.
_perm()
Einstellungen für die Erteilung von (Benutzer-)Rechten. Hier werden die unterschiedlichen Bearbeitungsformen definiert, z. B. 'edit own nodetype', 'view nodetype'.
_access($op, $node)
Rückgabe der Benutzerrechte. Man kann hier sehr genau steuern wer was machen kann und darf.
_form($node)
Definition der eigenen Formularfelder zu Nodeerfassung / -bearbeitung.
_validate($node)
Validierung der Daten aus den zusätzlichen Formularfeldern
_insert($node)
Speicherung der zusätzlichen Daten.
_update($node)
Speicherung nach der Bearbeitung.
_delete(&$node)
Löschfunktion des Node's.
_load($node)
Holt die zusätzlichen Daten des Node's, z. B. für Updates.
_view($node, $teaser = FALSE, $page = FALSE)
Hinzufügen der Daten zu dem Node für die Anzeige im Browser.
theme_xx()
Möglichkeit die Ausgabe mit eigenen Formatierungen zu versehen.

Es müssen nicht unbedingt alle Funktionen ausprogrammiert werden. Vor der Programmierung muss man sich also Gedanken machen:

  • was soll dargestellt werden?
  • wie soll etwas dargestellt werden
  • welche Aktionen müssen durchgeführt werden?
  • wer soll die Berechtigung für bestimmte Aktionen bekommen?

Aber jetzt der Reihe nach:

Kommentare

buy cialis

tdihlrfw buy cialis >:-[ cialis 8658 cheap viagra 0363 viagra =-]

cialis

fbaokzv cialis 2180 viagra 8]]] cheap viagra UCZAH cialis >:-OOO generic cialis 6779 viagra :-O

viagra online

viagra pil

hnuelm viagra pil 2442 cialis kmAbZf xenical 1257 cialis >:-OOO Cialis :-O cialis :-O

Payday Loans

ojpifz Payday Loans >:-[ Payday Loans 0149 Payday Loans %-[[[ Payday Loans %-[[[

cheap generic viagra

payday loans

Payday Loan

generic viagra

payday loan

badlppt payday loan 0470 payday loan 7197 payday loan HbogS

payday loans

instant cash advance

cialis

osphcba cialis >:-[ viagra ZENyBg Cialis 2450 cialis gEOYRu levitra =-] viagra 0156

accutane

hjeczk accutane bVsszn generic cialis DMCLgB viagra >:-OOO propecia %-[[[

auto loan