1
有沒有辦法讓表單發送表單值到批處理過程中並在每個批處理操作中使用它們?Drupal批處理表單 - 流程值?
有沒有辦法讓表單發送表單值到批處理過程中並在每個批處理操作中使用它們?Drupal批處理表單 - 流程值?
是你可以通過他們通過對聲明批處理功能,並從那裏它們傳遞到每個操作:
function mymodule_myform_submit(&$form, &$form_state) {
$var1 = $form_state['values']['var1'];
$var2 = $form_state['values']['var2'];
batch_set(mymodule_mybatch($var1, $var2));
}
function mymodule_mybatch($var1, $var2) {
$nid = db_result(db_query_range("SELECT nid FROM {node} ORDER BY nid ASC", 0, 1));
$operations = array();
for ($i = 0; $i < 100; $i++) {
$operations[] = array('mymodule_mybatch_op', array($nid, $var1, $var2));
}
$batch = array(
'operations' => $operations,
'finished' => 'mymodule_mybatch_finished',
);
return $batch;
}
function mymodule_mybatch_op($nid, $var1, $var2) {
// Perform the operation
}
function mymodule_mybatch_finished($success, $results, $operations) {
if ($success) {
$message = count($results) . ' processed.';
}
else {
$error_operation = reset($operations);
$message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
}
drupal_set_message($message);
}
顯然你需要更改其中數據來自於mymodule_mybatch
到適合您的需求:)