07. Criar layout.

article featured image

É altura de criarmos o nosso layout para os produtos. Há muito que se possa falar sobre este tema, pode e deve consultar a página Blade Templates e estudar um pouco mais a fundo o tema.

Como não é nosso propósito estudar a fundo este tema, mas sim criar um layout para os nossos produtos, vamos diretos ao que nos importa: # Layouts Using Components.

Algo que devemos ter em atenção é que há partes do layout que são comuns em várias páginas. Assim devemos ter o cuidado de reaproveitar essas mesmas partes para não termos de escrever repetidamente o mesmo código de HTML. Assim, devemos criar uma página “pai”, com a estrutura principal, que vai partilhar essas partes comuns com os “filhos”.

Olhando para o nosso projeto, vamos à pasta resources\views e vamos criar uma pasta com o nome products.

Dentro desta pasta, crie um ficheiro com o nome layout.blade.php que pretendemos que seja este o ficheiro “pai”.

Neste ficheiro escreva o seguinte código HMTL:

A linha assinalada é onde vai entrar o código dos “filhos”.

Agora vamos criar um novo ficheiro com o nome create.blade.php que irá ser “filho” do ficheiro layout.blade.php.

Antes de verificar o seu funcionamento, temos de fazer mais uma coisa, temos de ir ao controlador de produtos, ao método create, e acrescentar a seguinte linha:

Para visualizar o resultado escreva na barra de endereços do seu browser localhost:8000/products/create

Neste momento estamos prontos para desenvolver o layout final para criar um produto. No ficheiro create.blade.php, dentro da @session, vamos desenvolver o HTML necessário para criar o seguinte formulário:

Podemos dividir o código em três partes:

  • Parte superior do layout com um título e um botão para voltar à página principal dos produtos;

Aqui chamamos a atenção para a sintaxe blade que permite colocar informação dinâmica, isto é, permite criar uma rota para o índex (raiz) dos produtos (neste momento, se pressionar este botão, vai para uma página em branco, pois ainda não criamos a página principal dos produtos);

  • A segunda parte é para deteção de erros no preenchimento do formulário, iremos criar um array com esses erros que depois serão aqui escritos;

De ter em conta que a sintaxe é do blade, poderá ver as sintaxes das estruturas em # Blade Directives na página oficial do Laravel.

  • Por último, o código HTML, para criar o formulário:

Chamamos a atenção para a action do formulário cuja sintaxe volta a utilizar blade ao definir a rota dinâmica store em products.

A instrução @csrf deve ser utilizada sempre que definir um formulário HTML, esta incluirá um campo de token CSRF oculto no formulário para que o middleware de proteção CSRF possa validar a solicitação. Você pode usar a diretiva @csrf Blade para gerar o campo token.

 

Post AnteriorPost Seguinte