Добрый день.
Подскажите пожалуйста, каким образом можно вытащить параметры с адреса страницы. ( например main?p=1&n=2 )
Вытащить мне нужно в функции-строителе формы my_module_my_form. И значение одного из параметров мне нужно передать одному из элементов формы в качестве value.
Комментарии
а аргументы для чего?
arg(1), arg(2)
arg() с нуля начинает индексацию
конечно с нуля...
а как мне это значение передать текстовому элементу формы.
то есть $form['text']['value']=$arg(1)
по сабмиту все поля очищаются, а мне нужно их заново заполнить.
а как у вас сабмит обрабатывается?
по сабмиту я делаю drupal_goto('мой адрес с параметрами') далее мне нужно эти параметры занести в текстовые поля формы.
Здесь я полный новичок, только разбираюсь. Выкладываю код модуля
$items = array();
$items['pereschet/form/%'] = array(
'title' => 'Перевод единиц',
'page callback' => 'drupal_get_form',
'access arguments' => array('access content'),
'description' => 'Перевод единиц',
'type' => MENU_CALLBACK,
);
return $items;
}
function pereschet_form() {
return drupal_get_form('pereschet_my_form');
}
function pereschet_my_form($form_state) {
$form['metr'] = array(
'#type' => 'textfield',
'#description' => t('Введите число. В качестве разделителей целых от десятков используйте точку '),
'#title' => t('Переводим Метр в Дюйм'),
'#size' => 20,
'#maxlength' => 20,
);
$form['dum'] = array(
'#type' => 'textfield',
'#description' =>t( 'Введите число. В качестве разделителей целых от десятков используйте точку '),
'#title' => t('Переводим Дюйм в Метр'),
'#size' => 20,
'#maxlength' => 20,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Расчитать'),
);
return $form;
}
function pereschet_my_form_submit($form, &$form_state) {
drupal_goto('/main/'.$form_state['values']['metr'].'/'.$form_state['values']['metr']*39);
}
function pereschet_block($op='list', $delta=0) {
if ($op == "list") {
$block[0]["info"] = t('Пересчет');
return $block;
}
else if ($op == 'view') {
$block_content= drupal_get_form('pereschet_my_form');
// отображаем блок
$block['subject'] = 'Пересчет';
$block['content'] = $block_content;
return $block;
}
}