我为我们的俱乐部编写了一个模块。我现在拥有的是一个显示 html 表格的页面,显示俱乐部房间的可用性
我添加了指向该表最后一列的链接 [参考代码示例],单击该链接后,用户可以将值从 yes 更改为 no。令人震惊的是,我更新了查询,传递了参数,但现在我陷入了困境。
它现在的工作方式是:
- 用户点击上述链接
- 它进入我的模块/函数,运行它,将值从“Y”更改为“N”
- 然后它转到我的 change_availability_test 模块/函数中的列表
我想要的是:
- 用户点击链接
- 转到 [change_availability_test] 页面询问,您确定要更改可用性吗?
- 用户可以选择单击“更改可用性”按钮,然后运行模块/功能并返回到显示 html 表的原始页面,或者如果他们单击“否”,则不采取任何操作,只是返回到原始页面显示 html 表格的页面。
项目清单
$items['/change_availability/%'] = array(
'title' => 'Change Availability',
'page callback' => 'change_availability_test',
'access arguments' => array('user_access'),
'page arguments' => array(2),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Change space availability status.
*/
function change_availability_test($rid = NULL, ) {
//This function runs the db update query.
}
if ($form['rid']) {
foreach (element_children($form['rid']) as $key) {
$rows[] = array(
'data' => array(
drupal_render($form['rid'][$key]),
drupal_render($form['squad_name'][$key]),
drupal_render($form['task_id'][$key]),
drupal_render($form['email'][$key]),
drupal_render($form['club_location'][$key]),
drupal_render($form['rating'][$key]['grade']),
l(t('click'), "change_availability/".$key),
),
'class' => $form['status'][$key]['#value'],
);
}
$headers = array(
array('data' => t('id')),
array('data' => t('squad_name')),
array('data' => t('task_id')),
array('data' => t('email')),
array('data' => t('Club Location')),
array('data' => t('Rating')),
array('data' => t('Available?')),
);
$output = theme('table', $header, $rows, array('id' => 'room-listing'));
$output .= drupal_render($form);
}
return $output;
}