This extension allows you to quickly add full-featured modal forms to your appllication. Main featues are:
The preferred way to install this extension is through composer.
To install, either run
$ php composer.phar require conquer/modal "*"
or add
"conquer/modal": "*"
to the require
section of your composer.json
file.
Somewhere in the main layout
\conquer\modal\ModalForm::widget([
'selector' => '.modal-form',
]);
Whenever you want to add behavior to tag a, just add class 'modal-form'
echo Html::a('Some modal action', ['controller/action'], ['class' => 'modal-form']);
To improve traffic data and error exceptions you need to control layout rendering when ajax requests. I recommend you to override default rendering in your controllers:
class Controller extends \yii\web\Controller
{
/**
* Exclude layout rendering when ajax requests
*/
public function render($view, $params = [])
{
if (\Yii::$app->request->isAjax) {
return $this->renderPartial($view, $params);
}
return parent::render($view, $params);
}
}
To add client options use clientOptions
key. Available client options are: id
, class
, tabindex
.
\conquer\modal\ModalForm::widget([
'selector' => '.modal-form',
'clientOptions' => [
'id' => 'sample-unique-id',
'class' => 'sample-class1 sample-class2',
'tabindex' => false
]
]);
conquer/modal is released under the MIT License. See the bundled LICENSE
for details.