Это довольно грязный способ сделать то, что вам нужно, вы просто должны указать nid продукта в URL как часть строки запроса в ссылке со страницы вашего продукта, а затем загрузить его из веб-формы.
В вашем шаблоне узла / препроцессе:
$webform_path = 'node/10'; // Or whatever the webform's nid is
$link = l('Request Information', $webform_path, array(
'query' => array(
'product_nid' => $product_node->nid
)
));
echo $link;
Затем в вашей форме измените:
function AddNodeInfoToForm_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'webform_client_form_10' && isset($_GET['product_nid']) && is_numeric($_GET['product_nid'])) {
$product_node = node_load($_GET['product_nid']);
if ($product_node) {
$product_title = $product_node->title;
$form['submitted']['product']['#default_value'] = $product_title;
}
}
}
Обратите внимание, что вы не возвращаете форму из функции hook_form_alter
переменная $form
передается по ссылке, поэтому изменения сохраняются таким образом.