Drupal: Creando entidades definidas en ECK programáticamente.
Les presento ECK a quien no lo conozca todavía. ECK (Entity Construction Kit) a craso modo es una interfaz para crear entidades por medio de una UI. Además de permitirte crear tipos de entidad, te permite crear sus bundles, gestionar sus fields, propiedades, y para rematar también te da todas las herramientas para hacer CRUD. Si quieren saber mas en profundidad sobre este modulo pueden leer su documentacion y tambien les recomiendo este video que lo explica bastante mejor que yo.
Al lío. Una vez que creas tipos de entidades con ECK podés crear entidades nuevas de ese tipo usando su UI, pero también podés crearlas programáticamente:
Digamos que creaste un tipo de entidad llamada “Contact” [contact] y un bundle llamado “contact_simple”.
Para crear una nueva entidad “contact_simple” haz:
1 2 |
< ? $entity_type = "contact"; $entity = entity_create($entity_type, array('type' => "contact_simple")); $wrapper = entity_metadata_wrapper($entity_type, $entity); |
Ahora que tenes la entidad ya podes tocar tanto sus propiedades como los field que tenga attachados:
1 2 3 |
< ? //Propiedades $wrapper->uid = 9; //Fields $wrapper->field_full_name = "John doe"; |
Cuando acabes de toquetear la entidad, guardala y listo.
1 |
< ? $wrapper->save(); |
Chau!