Gii es una extensión que proporciona un generador de código basado en web para generar modelos, formularios, módulos, CRUDs, etc.
Por defecto, están disponibles los siguientes generadores
- Modelo Generador – Genera una clase ActiveRecord para una tabla de base de datos especificada.
- Generador CRUD – Genera controladores y visualizaciones que implementan operaciones CRUD (Crear, Leer, Actualizar, Borrar) para el modelo especificado.
- Generador de controladores – Genera una nueva clase de controladores con una o más acciones de controlador y una pantalla correspondiente.
- Generador de formularios – Genera un archivo de secuencia de comandos de visualización que muestra el formulario para recopilar entradas para la clase de modelo especificada.
- Generador de módulos – Genera el código de esquema requerido por el módulo Yii.
- Generador de extensiones – Genera los archivos requeridos por la extensión Yii.
Usando Gii, escribir código se hace más rápido y fácil. Cuando queremos hacer que las operaciones CRUD sucedan en una página, sin cambiar de página, la plantilla por defecto de Gii no puede hacer eso todavía.
En este artículo, aprenderemos a utilizar plantillas Gii que ya soportan operaciones CRUD en una página utilizando Ajaxcrud creado por johnitvn.
Pasos para crear CRUD en una página con Ajaxcrud
- Instalar la extensión johnitvn/yii2-ajaxcrud usando composer
php composer.phar require --prefer-dist johnitvn/yii2-ajaxcrud "dev-master"
o añadiendo el siguiente código al archivo composer.json
"johnitvn/yii2-ajaxcrud": "dev-master"
- Esta extensión también requiere Awesome Font,una alternativa es usar FontAwesomeAsset de kartik-v/yii2-icons añadiendo el siguiente código al archivo composer.json.
"kartik-v/yii2-icons": "*"
- A continuación, abra Gii con Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=gii. Si todo el proceso va bien, habrá un nuevo menú en Gii, a saber, «Ajax CRUD Generator.
![ajaxcrud 01](https://bardimin.com/wp-content/uploads/2021/10/ajaxcrud-01.jpg)
- Una vez que todo está listo, creamos un modelo a partir de la tabla de la base de datos. En este ejemplo creamos un modelo a partir de la tabla «país
![ajaxcrud 02](https://bardimin.com/wp-content/uploads/2021/10/ajaxcrud-02-1024x537.jpg)
- Después de hacer el modelo, el siguiente paso es utilizar CRUD con «Ajax CRUD Generator»
![ajaxcrud 03](https://bardimin.com/wp-content/uploads/2021/10/ajaxcrud-03-1024x396.jpg)
- A continuación, abra el navegador con Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=country. Verás que hay botones «Acciones» y «Nuevo registro» que no aparecen.
![ajaxcrud 04](https://bardimin.com/wp-content/uploads/2021/10/ajaxcrud-04.jpg)
- Para que aparezca el botón, edita «frontend/views/country/index.php» y registra «FontAwesomeAsset» de «kartik-v/yii2-icons» como sigue.
............
............
use kartikiconsFontAwesomeAsset;
FontAwesomeAsset::register($this);
............
............
- Abrir de nuevo Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=country». Verá resultados como éste.
![ajaxcrud 05](https://bardimin.com/wp-content/uploads/2021/10/ajaxcrud-05.gif)
Suerte…
Que sea útil