Añadir un nodo a través de crontab en un módulo de Drupal 5.x

Esto puede servirnos para un agregador de noticias por ejemplo. Si ya conoces mas o menos la estructura de los módulos de drupal, previamente tendrías que tener definido un tipo de contenido espécifico para el módulo, o seleccionar alguno que ya exista como las entradas de blog.

El código es sencillo, lo insertamos en el hook_cron():

function my_module_cron() {
	$node = new stdClass();
	$node->type = variable_get('my_module_node_type', 'my_module');
	$options = variable_get('node_options_'.$node->type, FALSE);
	if (is_array($options)) {
		$node->status = in_array('status', $options) ? 1 : 0;
		$node->promote = in_array('promote', $options) ? 1 : 0;
		$node->sticky = in_array('sticky', $options) ? 1 : 0;
		} else {
		$node->status = 1;
		}
		$node->uid = 1 // 1 para admin,
				// 0 para anonymous,
				// cualquier otro que exista
		$node->title = 'Titulo del nodo';
		$node->body = 'Contenido del nodo';
		$node->created = time();
		$node->teaser = node_teaser('tweet');
		node_object_prepare($node);
		node_save($node);
}

Con eso debería añadir sin problemas el nodo al ejecutar el crontab :)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>