Skip to content

Multi step wizard widget using tabs to guide a user through steps to complete a form

License

Notifications You must be signed in to change notification settings

Lawiet/yii2-wizardwidget

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yii2 Wizard Widget

Multi step wizard widget using tabs to guide a user through steps to complete a task. Based on the Form wizard (using tabs) from lukepzak (see http://bootsnipp.com/snippets/featured/form-wizard-using-tabs).

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist drsdre/yii2-wizardwidget "*"

or add

"drsdre/yii2-wizardwidget": "*"

to the require section of your composer.json file.

Wizard configuration

  • id: string html id of the wizard widget
  • steps: array definition of the wizard steps. Array key will be used as the hyperlinks to the steps.

Each step can have the following parameters:

  • title: string required title of the step (shown when hoovering over step icon)
  • icon: string required step icon code (see Glyphicon or Font awesome codes)
  • content: string required HTML content of the step page
  • skippable: boolean optional allow to skip over a step
  • buttons: array optional configuration of the buttons per step
  • complete_content: string optional the HTML content of a complete step
  • start_step: string optional the starting step when wizard is initialized

In each step four different buttons can be configured (display of a button is dependent on position of the step in the sequence):

  • previous: (not shown on first step)
  • next: (not shown on last step)
  • skip: (shown when skippable is set)
  • save: (shown on the last step)

Each button can be configured with:

or

  • html: string optional add your own button definition with HTML code (for example to save data after a step)

Usage

Once the extension is installed, use it in your code like :

<?php
$wizard_config = [
	'id' => 'stepwizard',
	'steps' => [
		1 => [
			'title' => 'Step 1',
			'icon' => 'glyphicon glyphicon-cloud-download',
			'content' => '<h3>Step 1</h3>This is step 1',
			'buttons' => [
				'next' => [
					'title' => 'Forward', 
					'options' => [
						'class' => 'disabled'
					],
				 ],
			 ],
		],
		2 => [
			'title' => 'Step 2',
			'icon' => 'glyphicon glyphicon-cloud-upload',
			'content' => '<h3>Step 2</h3>This is step 2',
			'skippable' => true,
		],
		3 => [
			'title' => 'Step 3',
			'icon' => 'glyphicon glyphicon-transfer',
			'content' => '<h3>Step 3</h3>This is step 3',
		],
	],
	'complete_content' => "You are done!", // Optional final screen
	'start_step' => 2, // Optional, start with a specific step
];
?>

<?= \drsdre\wizardwidget\WizardWidget::widget($wizard_config); ?>

About

Multi step wizard widget using tabs to guide a user through steps to complete a form

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 63.2%
  • CSS 22.7%
  • JavaScript 14.1%