aggiunta di dati a un campo data collegati ad un nodo in drupal 7
-
27-10-2019 - |
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.
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