Elcodi\Plugin\StoreSetupWizardBundle\Services\WizardStatus::getNextStep PHP Метод

getNextStep() публичный Метод

Get the next step.
public getNextStep ( ) : integer | null
Результат integer | null The next step, null if the wizard is finished.
    public function getNextStep()
    {
        $stepsFinishedStatus = $this->getStepsFinishStatus();
        foreach ($stepsFinishedStatus as $step => $stepIsFinished) {
            if (!$stepIsFinished) {
                return (int) $step;
            }
        }
        return null;
    }

Usage Example

Пример #1
0
 /**
  * Render the next step message.
  *
  * @param EventInterface $event The event
  */
 public function renderGoNextStepMessage(EventInterface $event)
 {
     if ($this->plugin->isUsable()) {
         $masterRequest = $this->requestStack->getMasterRequest();
         $currentRoute = $masterRequest->attributes->get('_route');
         $isWizardRoute = $this->wizardRoutes->isWizardSetupRoute($currentRoute);
         $isWizardFinished = $this->wizardStatus->isWizardFinished();
         if ($isWizardRoute && !$isWizardFinished) {
             $currentStep = $this->wizardRoutes->getStepByRoute($currentRoute);
             $isStepFinished = $this->wizardStatus->isStepFinished($currentStep);
             if (1 != $currentStep && $isStepFinished) {
                 $stepsFinished = $this->wizardStatus->getStepsFinishStatus();
                 $activeStep = $this->wizardStatus->getNextStep();
                 $firstCarrier = $this->carrierRepository->findOneBy(['enabled' => true], ['id' => 'ASC']);
                 $firstCarrier = $firstCarrier instanceof CarrierInterface ? $firstCarrier : false;
                 $this->appendTemplate('@ElcodiStoreSetupWizard/Wizard/wizard.html.twig', $event, $this->plugin, ['stepsFinished' => $stepsFinished, 'activeStep' => $activeStep, 'isMiniWizard' => true, 'carrier' => $firstCarrier]);
             }
         }
     }
 }