1 $context['finished'] = 3.14; } /** * Implements callback_batch_operation(). * * Performs a batch operation setting up its own batch. */ function _batch_test_nested_batch_callback() { batch_test_stack('setting up batch 2'); batch_set(_batch_test_batch_2()); } /** * Provides a common 'finished' callback for batches 1 to 4. */ function _batch_test_finished_helper($batch_id, $success, $results, $operations) { if ($results) { foreach ($results as $op => $op_results) { $messages[] = 'op ' . Html::escape($op) . ': processed ' . count($op_results) . ' elements'; } } else { $messages[] = 'none'; } if (!$success) { // A fatal error occurred during the processing. $error_operation = reset($operations); $messages[] = t('An error occurred while processing @op with arguments:
@args', ['@op' => $error_operation[0], '@args' => print_r($error_operation[1], TRUE)]); } // Use item list template to render the messages. $error_message = [ '#type' => 'inline_template', '#template' => 'results for batch {{ batch_id }}{{ errors }}', '#context' => [ 'batch_id' => $batch_id, 'errors' => [ '#theme' => 'item_list', '#items' => $messages, ], ], ]; drupal_set_message(\Drupal::service('renderer')->renderPlain($error_message)); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 0. */ function _batch_test_finished_0($success, $results, $operations) { _batch_test_finished_helper(0, $success, $results, $operations); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 1. */ function _batch_test_finished_1($success, $results, $operations) { _batch_test_finished_helper(1, $success, $results, $operations); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 1. */ function _batch_test_finished_1_finished($success, $results, $operations) { _batch_test_finished_helper(1, $success, $results, $operations); return new RedirectResponse(Url::fromRoute('test_page_test.test_page', [], ['absolute' => TRUE])->toString()); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 2. */ function _batch_test_finished_2($success, $results, $operations) { _batch_test_finished_helper(2, $success, $results, $operations); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 3. */ function _batch_test_finished_3($success, $results, $operations) { _batch_test_finished_helper(3, $success, $results, $operations); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 4. */ function _batch_test_finished_4($success, $results, $operations) { _batch_test_finished_helper(4, $success, $results, $operations); } /** * Implements callback_batch_finished(). * * Triggers 'finished' callback for batch 5. */ function _batch_test_finished_5($success, $results, $operations) { _batch_test_finished_helper(5, $success, $results, $operations); }