У меня есть два типа контента (job_post и application), связанные с помощью ссылки на узел + ссылки на узел ссылки на узлы. Когда я щелкаю ссылку в узле job_post, создается новый узел приложения, чтобы кандидаты могли заполнить свою заявку на работу. Моя цель - автоматически скопировать содержимое поля электронной почты cck из ссылочного узла job_post в поле электронной почты cck в узле приложения.
Для этого я создал следующий модуль:
// Implementation of hook_perm()
function mymodule_perm() {
return array('copy cck field');
}
// Implementation of hook_node_api
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL){
switch ($op) {
//if the node is inserted in the database
case 'prepare':
//if node is a job application
if($node->type == 'application') {
//get nid from referenced node (using url information
$item_nid = arg(3);
//load and build node content
$item_node = node_load($item_nid);
$item_node = node_build_content($item_node);
//retrieve data from cck email field in referenced job post node
$item_email = $item_node->field_job_email[0]['view'];
//display result in website to check if value is correctly loaded
dsm($item_email);
К сожалению, когда я получаю этот код, DSM возвращает и пустое значение.
Когда я делаю следующие изменения в коде:
//retrieve data from cck email field in referenced job post node
$item_email = $item_node->field_job_email;
//display result in website to check if value is correctly loaded
dsm($item_email);
Я получаю следующий результат в крумо:
... (Array, 1 element)
0 (Array, 2 elements)
email(string, 9 characters) aa@aa.com
safe (string, 9 characters) aa@aa.com
Любое предложение о том, как загрузить содержимое поля адреса электронной почты cck (aa@aa.com) в новое поле?
Большое спасибо!