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?

  1. Install the devel module
  2. Look on the Dev load page when viewing the node
  3. 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_nodeapi in 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.