siripravi / yii2-wizardwidget
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).
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 24
Type:yii2-extension
Requires
- yiisoft/yii2: ~2.0.45
- yiisoft/yii2-bootstrap5: *
This package is auto-updated.
Last update: 2024-12-12 07:33:56 UTC
README
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 widgetsteps
: 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 pageskippable
: boolean optional allow to skip over a stepbuttons
: array optional configuration of the buttons per stepcomplete_content
: string optional the HTML content of a complete stepstart_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):
prev
: (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:
title
: string optional title as shown in the buttonoptions
: array optional of HTML options (see Yii2 HTML helper documentation)
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); ?>