Node factory
Component ID
208449
Component name
Node factory
Component type
module
Maintenance status
Development status
Component security advisory coverage
not-covered
Downloads
3001
Component created
Component changed
Component body
This module is no longer maintained
Ever wanted to create nodes on the fly? This module provides functionality to do this.
With this module you can write code like this to produce a node.
// my_nodetype must be an existing nodetype
$edit = node_factory_create_node( 'my_nodetype');
node_factory_set_value( $edit, 'title', 'my value');
node_factory_set_value( $edit, 'field_node_ref', 123);
node_factory_set_value( $edit 'uid', 321);
node_factory_save_node( $edit);
Setting taxonomy? Then know the term IDs!
$edit['taxonomy'][] = 9; // tid
or know the category ID when free tagging is allowed
$edit['taxonomy']['tags'][$vid]= 'a,b,c';
node_factory knows a few CCK fields:
- node_ref (select)
- select box (text, int)
- radio (text, int)
- checkbox (text, int)
Setting other cck fields?
node_factory_set_cck_value( $edit, 'field_node_ref_auto_single', array( array( 'nid' => 47)));
node_factory_set_cck_value( $edit, 'field_node_ref_select_single', array( 'nids' => 47));
node_factory_set_cck_value( $edit, 'field_radio', array( 'key' => 'A'));
node_factory_set_cck_value( $edit, 'field_checkbox', array( 'keys' => array( 'A' => 'A', 'B' => 'B')));
Doing commandline insert? Only in 5.x-1.x-dev
drush nf create json 'json-string'
Do it yourself?
- Install the devel module
- Look on the Dev load page when viewing the node
- Now you see all field names.
Want to debug/help?
You can test yourself with http://drupal.org/project/prepopulate for finding out what parameter you need to fill in a form value. That structure can then be used with node_factory_set_cck_value.
- Install devel.module
- Uncomment the
function node_factory_nodeapiin node_factory.module - Create a specific on field cck node
- Add a new node by hand
- Then try it by the devel php code block!
- Submit a feature request with your cck type attached and your code line solution
Thanks.
