[yii2] Modelo CRUD do Gii para Ajax de uma página

O Gii é uma extensão que fornece um gerador de código baseado na Web para gerar modelos, formulários, módulos, CRUDs e assim por diante.

Por padrão, os seguintes geradores estão disponíveis

  • Generator Model – Gera uma classe ActiveRecord para uma tabela de banco de dados especificada.
  • CRUD Generator – Gera controladores e exibições que implementam operações CRUD (Create, Read, Update, Delete) para o modelo especificado.
  • Controller Generator – Gera uma nova classe de controladores com uma ou mais ações de controlador e uma exibição correspondente.
  • Form Generator – Gera um arquivo de script de exibição que mostra o formulário para coletar entradas para a classe de modelo especificada.
  • Module Generator – Gera o código de esboço exigido pelo módulo Yii.
  • Extension Generator – Gera os arquivos exigidos pela extensão Yii.

Ao usar o Gii, escrever código se torna mais rápido e fácil. Quando queremos fazer com que as operações CRUD ocorram em uma página, sem mudar de página, o modelo padrão do Gii ainda não pode fazer isso.

Neste artigo, aprenderemos a usar os modelos do Gii que já suportam operações CRUD em uma página usando o Ajaxcrud criado por johnitvn

Etapas para criar CRUD em uma página com o Ajaxcrud

  1. Instale a extensão johnitvn/yii2-ajaxcrud usando o composer
php composer.phar require --prefer-dist johnitvn/yii2-ajaxcrud "dev-master"

ou adicionar o seguinte código ao arquivo composer.json

"johnitvn/yii2-ajaxcrud": "dev-master"
  1. Essa extensão também requer Awesome Font,uma alternativa é usar o FontAwesomeAsset do kartik-v/yii2-icons adicionando o seguinte código ao arquivo composer.json.
 "kartik-v/yii2-icons": "*"
  1. Em seguida, abra o Gii com o Url: “http://localhost/yii2-advanced/frontend/web/index.php?r=gii”. Se todo o processo ocorrer sem problemas, haverá um novo menu no Gii, chamado “Ajax CRUD Generator.
ajaxcrud 01
  1. Quando tudo estiver pronto, criamos um modelo a partir da tabela do banco de dados. Neste exemplo, criamos um modelo a partir da tabela “country” (país)
ajaxcrud 02
  1. Depois de criarmos o modelo, a próxima etapa é usar o CRUD com o “Ajax CRUD Generator
ajaxcrud 03
  1. Em seguida, abra o navegador com o URL: “http://localhost/yii2-advanced/frontend/web/index.php?r=country. Você verá que os botões “Actions” (Ações) e “New record” (Novo registro) não são exibidos.
ajaxcrud 04
  1. Para que o botão seja exibido, edite “frontend/views/country/index.php” e registre “FontAwesomeAsset” em “kartik-v/yii2-icons” da seguinte forma.
............
............
use kartikiconsFontAwesomeAsset;
FontAwesomeAsset::register($this);
............
............
  1. Abrir novamente Url: “http://localhost/yii2-advanced/frontend/web/index.php?r=country”. Você verá resultados como este.
ajaxcrud 05

Boa sorte…

Que seja útil

Últimos artigos