Как реализовать валидацию формы для блока. Форма сабмитится через ahah. Код такой:
<?php
/**
* Реализация hook_menu()
*/
function cost_calculator_menu(){
$items['services/cost-calculator/calculate'] = array(
'page callback' => 'cost_calculator_calculate',
'access arguments' => TRUE,
'type' => CALLBACK_ITEM,
);
return
$items;
}
/**
* Реализация hook_block()
*/
function cost_calculator_block($op = 'list', $delta = 0, $edit = array()){
switch($op){
case 'list';
// Блок расчёта стоимости таможни
$blocks['customs'] = array(
'info' => t('Расчёт таможенной пошлины.'),
'cache' => BLOCK_NO_CACHE,
);
return
$blocks;
case 'configure':
return $form;
case 'save':
return;
case 'view':
$block['content'] = drupal_get_form('calculator_form', $delta);
return $block;
}
}
function
calculator_form(&$form_state, $delta){
$foem['sum'] = array(
'#type' => 'textfield',
);
$form['calculate-button'] = array(
'#type' => 'submit',
'#value' => t("Рассчитать"),
'#ahah' => array(
'path' => 'services/cost-calculator/calculate',
'wrapper' => 'calc-result',
),
);
$form['calc-result'] = array(
'#value' => ' ',
'#prefix' => "<div id='calc-result'>",
'#suffix' => "</div>",
);
return
$form;
}
// эта функция не вызывается никогда
function calculator_form_validate(&$form, &$form_state){
$va = 2;
}
function
cost_calculator_calculate(){
$output = '<h1>Result</h1>';
drupal_json($output);
}
?>