Eigene Felder mit der Schema API definieren

am 12.09.2012 - 16:46 Uhr in
Hallo zusammen,
ich bin dabei ein Modul zu entwickeln, das einen eigenen node type definiert. Diesem node type füge ich anschließend einige (von Drupal oder anderen Modulen schon bereitgestellten) Felder hinzu.
Außerdem möchte ich ihm aber auch noch zwei selbst definierte Felder hinzufügen.
Der node hat dann folgende Struktur:
- node
- field1 [int]
- field2 [date]
- field3 [myfieldA]
- field4 [myfieldB]
...
Jetzt habe ich in der Drupal-Dokumentation und auf anderen Hilfeseiten zu diesem Thema gefunden, dass man eigene Felder mit einem assoziativen Array in hook_field_schema() nach folgendem Muster definiert:
function mymodule_field_schema($field) {
return array(
'columns' => array(
'myfieldA' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
);
}
Meine erste Frage dazu wäre, wie man mehrere Felder in diesem Array definiert.
Meine zweite Frage ist, ob es auch möglich ist ein Feld zu definieren, dass wiederum mehrere Werte enthält (z.B. mehrere 'text' Elemente die in unterschiedlichen Spalten in der Datenbank gespeichert werden)?
Beispielschema:
- node
- field1 [int]
- field2 [date]
- field3 [myfieldA]
- [text]
- [text]
- [int]
- field4 [myfieldB]
...
Oder ist es besser, wenn man für eine solche Struktur einen anderen Weg geht (z.B. entity statt node zu benutzen)?
Vielen Dank für alle Tipps und Lösungsvorschläge!!!
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo xrammit, wenn du einen
am 16.10.2012 - 19:31 Uhr
Hallo xrammit,
wenn du einen eigenen Content Type mitbringen möchtest, erstelle ihn über Features, auf diesem Weg sparst du dir eine Menge Arbeit.
Liebe Grüße
Yannick