Posted by jabonillac@gmail.com on January 31, 2012 at 4:15pm
Hola a todos, tengo la siguiente inquietud:
En el momento tengo implementado un joomla en el cual cargo las noticias directamente en la base de datos mediante un query sql a la tabla content usando un cronjob; resulta que el sitio lo vamos a migrar a Drupal y necesito hacer lo mismo insertar las noticias directamente a la base de datos pero no encuentro informacion de a que tablas le tengo que pegar y con que formatos de datos, alguien sabe como se puede hacer?
Muchas Gracias de antemano.
Juan Alejandro
Comments
Drupal Bootstraping
Saludos Juan,
Bueno creo que esto lo puedes realizar usando Drupal Bootstraping y elaborar un script php que pueda
ser ejecutado usando la línea de comandos. Aquí va un ejemplo muy sencillo: (es aplicable a 6.x y 7.x)
<?php
$_SERVER['HTTP_HOST'] = 'misitio.example.com';
$_SERVER['SCRIPT_NAME'] = '/index.php';
$drupalRoot = "/var/www/drupal"; // Donde reside el código fuente
$current_directory = getcwd();
chdir($drupalRoot);
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// A partir de aquí puedes empezar a usar el api de Drupal
$body_text = "Descripción de la noticia";
$node = new stdClass();
$node->type = 'article';
node_object_prepare($node);
$node->title = "Mi noticia";
$node->language = LANGUAGE_NONE;
$node->body[$node->language][0]['value'] = $body_text;
$node->body[$node->language][0]['summary'] = text_summary($body_text);
$node->body[$node->language][0]['format'] = 'filtered_html';
$path = 'content/programmatically_created_node_' . date('YmdHis');
$node->path = array('alias' => $path);
node_save($node);
Guardas el script y lo llamas desde cron.
Consulta más detalles en en el api de Drupal (api.drupal.org). Algunas funciones pueden cambiar
si usas Drupal 6 ó 7.
Espero sea de ayuda
Juan
Muchas Gracias juan!!! voy a
Muchas Gracias juan!!! voy a probarlo
Hola De nuevo, ya puedo
Hola De nuevo,
ya puedo insertar perfectamente usando el api de drupal este es el código:
if($node = node_submit($node)) {
}
tengo problemas especificamente con este bloque:
$textico y $leadsito no me acepta texto con tildes o caracteres raros enseguida me bota un PDO exception, si mando texto plano funciona perfecto, alguien tiene alguna de idea de como formatear el texto o que puedo hacer ??
Muchas gracias.
Revisa la función
Revisa la función drupal_convert_to_utf8
También revisa que la codificación y collation de tu base de datos se encuentre correctamente configurada.
Juan