Ich habe eine Entität über das Entity Construction Kit erstellt. Anfangs wollte ich Regeln verwenden, um die neue Entität zu erstellen, aber die Entität ist feldweise und die Felder werden nicht in Regeln angezeigt (ab sofort versucht jemand, an einem Patch dafür zu arbeiten ), aber in der Zwischenzeit wollte ich eine einfache Funktion schreiben, die eine Entität erstellt, von der ich annahm, dass sie einem programmgesteuerten Erstellen eines Knotens ähnelt, aber ich bin seit ungefähr 4 Stunden dabei und habe keinen Zentimeter zugenommen. Ich habe entity_create und entity_save, aber sie machen nicht viel und ich kann keine Dokumentation dazu finden.
Was ich sehen möchte, ist, wie man eine Beispielentität aus einem Bundle erstellt, das mit eck oder durch Code erstellt wurde, der in ein Feld eingefügt wird.
Vielen Dank
Bearbeiten: Als letztes muss ich herausfinden, wie der Name der Felder angegeben wird, die an die Entität angehängt sind, damit ich auch Werte für diese eingeben kann.
$values = array('uid' => 1, 'field_receipt_prod_ref' => 1, 'type' => 'receipt');
$new_ent = entity_create('receipt', $values)->save();
Antworten:
Das meiste von dem, was du hast, sieht nicht schlecht aus. Das Wichtigste bei Feldern, die Ihnen fehlen, ist, dass sie eine Sprache haben, dass sie mehrwertig sein können und dass der Wert im Allgemeinen in einem Unterschlüssel 'Wert' gespeichert ist. Ich gehe davon aus, dass das ref-Feld eine Nodereferenz ist, was bedeutet, dass es tatsächlich mit
nid
statt gespeichert wirdvalue
.Um zu sehen, wie dies strukturiert ist, können Sie am einfachsten das
Devel
Modul installieren und auf derDevel
Registerkarte die Struktur anzeigen. Ich bin mir nicht sicher, ob dies bei ECK-Entitäten angezeigt wird, aber bei Knoten.Versuche dies:
quelle
Der einfachere Ansatz ist mit Hilfe von
entity_metadata_wrapper()
.quelle