Original work by johitvn.
But we need to work with Bootstrap 4, so we create this repository. If johitvn update his repo, we will delete this repository.
Gii CRUD template for Single Page Ajax Administration for yii2
- Create, read, update, delete in onpage with Ajax
- Bulk delete suport
- Pjax widget suport
- Export function(pdf,html,text,csv,excel,json)
- Support Boostrap 4/5
- Added translations, available right now only English and Indonesia
- Reload multiple Pjax
The default installation is using Bootstrap 5.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist biladina/yii2-ajaxcrud-bs4 "~3.0"
or add
"biladina/yii2-ajaxcrud-bs4": "~3.0"
to the require section of your composer.json
file.
If you still need the Boostrap 4 version, you can use version 2
php composer.phar require --prefer-dist biladina/yii2-ajaxcrud-bs4 "~2.0"
or add
"biladina/yii2-ajaxcrud-bs4": "~2.0"
to the require section of your composer.json
file.
For first you must enable Gii module Read more about Gii code generation tool
Because this extension used kartik-v/yii2-grid extensions so we must config gridview module before
Let's add into modules config in your main config file
'modules' => [
'gridview' => [
'class' => '\kartik\grid\Module'
]
]
Add translation to the config
'components' => [
'i18n' => [
'translations' => [
'yii2-ajaxcrud' => [
'class' => 'yii\i18n\PhpMessageSource',
'basePath' => '@yii2ajaxcrud/ajaxcrud/messages',
'sourceLanguage' => 'en',
],
]
]
]
Add bsVersion
to the params
file
return [
'bsVersion' => '5.x',
];
You can then access Gii through the following URL:
http://localhost/path/to/index.php?r=gii
and you can see Ajax CRUD Generator
Default translation is english, you can pull request new translation and you can change via config. Open your config main.php
, change the language and translation sourceLanguage
Available Translation :
- English
- Indonesia
'language' => 'id-ID',
'components' => [
'i18n' => [
'translations' => [
'yii2-ajaxcrud' => [
'class' => 'yii\i18n\PhpMessageSource',
'basePath' => '@yii2ajaxcrud/ajaxcrud/messages',
'sourceLanguage' => 'id',
],
]
]
]
If you need to reload multiple GridView Pjax via Ajax respond from controller, you can add another Pjax ID separated by comma.
return [
'forceReload'=>'#crud-pjax1,#crud-pjax2', // you can add more Pjax ID that you want to reload via ajax respond.
'title'=> Yii::t('yii2-ajaxcrud', 'Create New')." Content",
'content'=>'<span class="text-success">'.Yii::t('yii2-ajaxcrud', 'Create').' Content '.Yii::t('yii2-ajaxcrud', 'Success').'</span>',
'footer'=> Html::button(Yii::t('yii2-ajaxcrud', 'Close'), ['class'=>'btn btn-default pull-left','data-dismiss'=>"modal"]).
Html::a(Yii::t('yii2-ajaxcrud', 'Create More'), ['create'],['class'=>'btn btn-primary','role'=>'modal-remote'])
];