Tôi có một biểu mẫu tùy chỉnh xử lý hai quy trình khác nhau sau khi gửi, giả sử
- Quy trình 1: xóa tất cả các nút bài viết
- Quá trình 2: nhập các nút bài viết từ csv.
Vấn đề là mỗi quy trình phải có thanh tiến trình riêng. Vì vậy, nó sẽ giống như:
- Biểu mẫu đã gửi
- Thanh tiến trình cho quá trình 1 bắt đầu (0%)
- Thanh tiến trình cho quá trình 1 kết thúc (100%)
- Thanh tiến trình cho quá trình 2 bắt đầu (0%)
- Thanh tiến trình cho quá trình 2 kết thúc (100%)
- Chuyển hướng đến biểu mẫu
Nếu tôi thêm lô_set()
hai lần trong trình xử lý gửi, cả hai quá trình đều được thực thi nhưng thanh tiến trình chỉ xuất hiện một lần.
// Tạo hai lô khác nhau.
hàm tĩnh công khai getBatch1() {
$batch_builder = BatchBuilder mới();
$batch_builder->setTitle('Quy trình 1')
$batch_builder->addOperation(
[bản thân::lớp, 'tiến trìnhCallback1'],
);
trả về $batch_builder->toArray();
}
hàm tĩnh công khai getBatch2() {
$batch_builder = BatchBuilder mới();
$batch_builder->setTitle('Quy trình 2')
$batch_builder->addOperation(
[bản thân::lớp, 'tiến trìnhCallback2'],
);
trả về $batch_builder->toArray();
}
// Trình xử lý gửi biểu mẫu tùy chỉnh.
hàm công khai submitForm() {
batch_set(MyBatchClass::getBatch1());
batch_set(MyBatchClass::getBatch2());
}
Nó thực sự trông giống như:
- Biểu mẫu đã gửi
- Thanh tiến trình cho quá trình 1 bắt đầu (0%)
- Thanh tiến trình cho quá trình 1 kết thúc (100%) <- quá trình 2 cũng kết thúc ở chế độ nền
- Chuyển hướng đến biểu mẫu
Làm cách nào tôi có thể khởi động lại thanh tiến trình khi quá trình thứ hai bắt đầu?