Puncte:1

Cum să afișați bara de progres de două ori la o singură solicitare (cu API Batch)

drapel ng
863

Am un formular personalizat care gestionează două procese diferite după trimitere, să spunem

  • Procesul 1: eliminarea tuturor nodurilor articolului
  • Procesul 2: importarea nodurilor articol din csv.

Problema este că fiecare proces trebuie să aibă propria bară de progres. Deci, ar trebui să arate astfel:

  • Formularul trimis
  • Bara de progres pentru procesul 1 începe (0%)
  • Bara de progres pentru procesul 1 termină (100%)
  • Bara de progres pentru începerea procesului 2 (0%)
  • Bara de progres pentru procesul 2 finisaje (100%)
  • Redirecționează către formular

Dacă adaug batch_set() de două ori în manipulatorul de trimitere, ambele procese sunt executate, dar bara de progres apare o singură dată.

// Creați două loturi diferite.

funcție publică statică getBatch1() {
    $batch_builder = nou BatchBuilder();
    $batch_builder->setTitle('Procesul 1')
    $batch_builder->addOperation(
        [self::class, 'processCallback1'],
      );
    returnează $batch_builder->toArray();
  }

funcție publică statică getBatch2() {
    $batch_builder = nou BatchBuilder();
    $batch_builder->setTitle('Procesul 2')
    $batch_builder->addOperation(
        [self::class, 'processCallback2'],
      );
    returnează $batch_builder->toArray();
  }
// Manager personalizat de trimitere a formularelor.
funcția publică submitForm() {
 batch_set(MyBatchClass::getBatch1());
 batch_set(MyBatchClass::getBatch2());
}

De fapt arata asa:

  • Formularul trimis
  • Bara de progres pentru procesul 1 începe (0%)
  • Bara de progres pentru procesul 1 se termină (100%) <- procesul 2 este, de asemenea, terminat în fundal
  • Redirecționează către formular

Cum pot reporni bara de progres când începe al doilea proces?

hotwebmatter avatar
drapel nr
Încercați să implementați fiecare proces API Batch în propria sa clasă.
drapel gb
@863, ați putea partaja codul pentru apelurile inverse procesCallback1, processCallback2?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.