Sto cercando di migrare il mio attuale sito HTML in Drupal. Ho più di 80.000 pagine che devo migrare, quindi ho pensato di creare un modulo invece di stare seduto davanti a un computer per 50 anni. Sono stato in grado di creare uno script che estrae l'html da ogni directory e ora sono arrivato a un blocco stradale in cui ho bisogno di creare un nodo. Sto cercando di creare un nuovo nodo usando node_save()
, ma quando viene eseguito node_save, ricevo un PDOException
errore con tutto ciò che provo. Sto passando $node
, che è un array che viene quindi inserito in un oggetto.
PDOException: in field_sql_storage_field_storage_write () (riga 424 di /srv/www/htdocs/modules/field/modules/field_sql_storage/field_sql_storage.module).
Ecco come stiamo attualmente creando il nodo, ma produce un errore:
$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();