我知道這可能是一個愚蠢的問題,但我有一個字段說a和b,現在如何獲取值併爲a和b設置值。 現在我的代碼是這樣的..如何獲取cck自定義字段的值和設置值
$n = node_load($node->id);
$n->title;
我正在結題,我想知道如何獲得併爲a和b,請設置的值,如果我設定的值,並b將不會被保存使用
node_save($ n);
??
我知道這可能是一個愚蠢的問題,但我有一個字段說a和b,現在如何獲取值併爲a和b設置值。 現在我的代碼是這樣的..如何獲取cck自定義字段的值和設置值
$n = node_load($node->id);
$n->title;
我正在結題,我想知道如何獲得併爲a和b,請設置的值,如果我設定的值,並b將不會被保存使用
node_save($ n);
??
這取決於一點你正在使用和正在使用的特定字段類型的版本,但這樣的事情:
// Drupal 6
$n = node_load($node->id);
$n->title = 'A title';
$n->field_my_field_a[0]['value'] = 'A value';
$n->field_my_field_b[0]['value'] = 'B value';
node_save($n);
// Drupal 7
$n = node_load($node->id);
$n->title = 'A title';
$n->field_my_field_a[LANGUAGE_NONE][0]['value'] = 'A value';
$n->field_my_field_b[LANGUAGE_NONE][0]['value'] = 'B value';
node_save($n);
在這兩種情況下,當您撥打node_save()
時,現場數據將與節點一起保存。
值得注意的是,兩種情況下的0
索引都指的是字段中的第一項。如果一個字段有多個值,你可以繼續添加到數組中。該value
密鑰可能需要根據該字段保存(例如的FileField將持有fid
(文件號)文件的其持有這樣相應地調整數據的類型來改變。
而且LANGUAGE_NONE
可能需要更換通過所需的語言代碼,如果您使用Drupal 7版本。
你的問題有點令人困惑,因爲你永遠不會解釋什麼是和是什麼。但訪問一個cck字段通常看起來像這樣:
$node = node_load($nid);
$field_value = $node->field_name[0]['value'];
如果它是一個多重選擇具有過零偏移值。您可以使用同樣的方法設置的值:
$node = node_load($nid);
$node->field_name[0]['value'] = $field_value;
node_save($node);