Поскольку вы пометили этот вопрос cck, я предполагаю, что вы работаете с полями узлов.
Чтобы скопировать значение одного поля ( x ) в другое ( y ), вы можете либо установить модуль Computed Field и настроить его так, чтобы значение y вычислялось из значения x или вы можете создать собственный модуль с чем-то похожим на следующие хуки:
Этот хук копирует все данные из поля x в поле y :
function mymodule_node_presave($node) {
$node->field_y = $node->field_x;
}
Этот хук копирует только значение первого экземпляра поля x в поле y :
function mymodule_node_presave($node) {
$node->field_y[$node->language][0]['value'] = $node->field_x[$node->language][0]['value'];
}
Возможно, вы захотитесделайте print_r
для $node->field_x
и $node->field_y
, так как структура ваших данных может отличаться в зависимости от типа поля, которое вы используете.Если вы хотите проверить, являются ли какие-либо поля пустыми, вы можете заключить оператор присваивания в условие, которое вызывает вашу пользовательскую функцию.