Domanda

Ho bisogno di aggiungere dati a un campo di tipo datetime in drupal 7.Sto cercando di utilizzare

$node->field_test_a_updated[0]['value'] = $val;
$node->field_test_a_updated[0]['delta'] = 0;
$node->field_test_a_updated[0]['timezone'] = 'UTC';
$node->field_test_a_updated[0]['timezone_db'] = 'UTC';
$node->field_test_a_updated[0]['date_type'] = 'datetime';

dove $val è il valore "2010-06-15T00:00:00-00:00".

Quando cerco di importare il contenuto, tutti gli altri campi collegati al nodo migrati correttamente, tranne il campo data.Ho provato anche con [LANGUAGE_NONE] opzione.

Io sono sicuro che mi sto perdendo qualcosa che è legato alla drupal7 campo di api.

Si prega di aiutare.

È stato utile?

Soluzione

La struttura dei campi in Drupal 7 (in questo contesto) è:

array(
  'language_code' => array(
    0 => array(
      'value => $val,
      'other_column_value' => $other_val
    )
  )
);

Il delta è gestita tramite la chiave di ciascuna delle matrici all'interno $array['language_code'] quindi non c'è bisogno di includere.Nel tuo caso si desidera che il codice in questo modo (supponendo, naturalmente, che si sta passando il nodo tramite node_save() in seguito):

$node->field_test_a_updated[LANGUAGE_NONE] = array(
  0 => array(
    'value' => $val,
    'timezone' => 'UTC',
    'timezone_db' => 'UTC',
    'date_type' => 'datetime'
  )
);

Speranza che aiuta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top