1. Go to this page and download the library: Download zikula/wizard library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zikula / wizard example snippets
use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\RouterInterface;
use Zikula\Component\Wizard\FormHandlerInterface;
use Zikula\Component\Wizard\StageContainerInterface;
use Zikula\Component\Wizard\Wizard;
use Zikula\Component\Wizard\WizardCompleteInterface;
class MyController
{
/**
* @var StageContainerInterface
*/
private $stageContainer;
/**
* @var \Twig\Environment
*/
private $twig;
/**
* @var FormFactoryInterface
*/
private $formFactory;
/**
* @var RouterInterface
*/
private $router;
/**
* define route = 'index/{stage}'
*/
public function indexAction(Request $request, $stage)
{
// begin the wizard
$wizard = new Wizard($this->stageContainer, realpath(__DIR__ . '/../Resources/config/stages.yml'));
$currentStage = $wizard->getCurrentStage($stage);
if ($currentStage instanceof WizardCompleteInterface) {
return $currentStage->getResponse($request);
}
$templateParams = $currentStage->getTemplateParams();
if ($wizard->isHalted()) {
$request->getSession()->getFlashBag()->add('danger', $wizard->getWarning());
return new Response($this->twig->render('@MyCustomBundle/error.html.twig', $templateParams));
}
// handle the form
if ($currentStage instanceof FormHandlerInterface) {
$form = $this->formFactory->create($currentStage->getFormType());
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$currentStage->handleFormResult($form);
$url = $this->router->generate('index', ['stage' => $wizard->getNextStage()->getName()], true);
return new RedirectResponse($url);
}
$templateParams['form'] = $form->createView();
}
return new Response($this->twig->render($currentStage->getTemplateName(), $templateParams));
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.