J'essaie de migrer mon site html actuel vers Drupal. J'ai plus de 80 000 pages à migrer, alors j'ai pensé qu'au lieu de m'asseoir devant un ordinateur pendant 50 ans, je créerais un module. J'ai pu créer un script qui extrait le code HTML de chaque répertoire et maintenant je suis arrivé à un barrage routier où j'ai besoin de créer un nœud. J'essaie de créer un nouveau nœud en utilisant node_save()
, mais lorsque node_save est exécuté, j'obtiens une PDOException
erreur avec tout ce que j'essaie. Je passe $node
, qui est un tableau qui est ensuite converti en objet.
PDOException: dans field_sql_storage_field_storage_write () (ligne 424 de /srv/www/htdocs/modules/field/modules/field_sql_storage/field_sql_storage.module).
Voici comment nous créons actuellement le nœud, mais cela produit une erreur:
$node= array(
'uid' => $user->uid,
'name' => $user->name,
'type' => 'page',
'language' => LANGUAGE_NONE,
'title' => $html['title'],
'status' => 1,
'promote' => 0,
'sticky' => 0,
'created' => (int)REQUEST_TIME,
'revision' => 0,
'comment' => '1',
'menu' => array(
'enabled' => 0,
'mlid' => 0,
'module' => 'menu',
'hidden' => 0,
'has_children' => 0,
'customized' => 0,
'options' => array(),
'expanded' => 0,
'parent_depth_limit' => 8,
'link_title' => '',
'description' => '',
'parent' => 'main-menu:0',
'weight' => '0',
'plid' => '0',
'menu_name' => 'main-menu',
),
'path' => array(
'alias' => '',
'pid' => null,
'source' => null,
'language' => LANGUAGE_NONE,
'pathauto' => 1,
),
'nid' => null,
'vid' => null,
'changed' => '',
'additional_settings__active_tab' => 'edit-menu',
'log' => '',
'date' => '',
'submit' => 'Save',
'preview' => 'Preview',
'private' => 0,
'op' => 'Save',
'body' => array(LANGUAGE_NONE => array(
array(
'value' => $html['html'],
'summary' => $link,
'format' => 'full_html',
),
)),
'validated' => true,
);
node_save((object)$node);
// Small hack to link revisions to our test user.
db_update('node_revision')
->fields(array('uid' => $node->uid))
->condition('vid', $node->vid)
->execute();