Inicio » Cursos » Laravel Página Web Administrable

Curso Laravel Página Web Administrable

Lección: 24 ➜ ViewComposers y Layout FrontEnd

Implementación de ViewComposers para consultas recurrentes en Laravel 8, además de establecer el Layout o plantilla para el desarrollo FrontEnd

Lección 24: ViewComposers y Layout FrontEnd

Implementación de ViewComposers para consultas recurrentes en Laravel 8, además de establecer el Layout o plantilla para el desarrollo FrontEnd con una orientación hacia el SEO.

Un ViewComposer en terminos sencillos permite la persistencia de datos en consultas recurrentes, en nuestro proyecto web de artesanías necesitamos datos como email, dirección, logo, favicon, etc extraerlos en casi todas las secciones. Y vemos que es una buena solución

¿Cómo implementar ViewComposers en Laravel?

 

App/Http/ViewComposers/MenuComposer

<?php

namespace App\Http\ViewComposers;

use Illuminate\Contracts\View\View;
use App\Models\Configuracion;

class MenuComposer{

    public function compose(View $view){
        $config = Configuracion::find(1);
        $view->with('config',$config);
    }
}

 

Creación del Provider App/Providers/ComposerServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;


class ComposerServiceProvider extends ServiceProvider
{
 
    public function register()
    {
        View::composer(['*'],'App\Http\ViewComposers\MenuComposer');
    }

  
    public function boot()
    {
      

    }
}

 

Registrar el provider en App/Config/App.php

...
App\Providers\ComposerServiceProvider::class,
...

 

Finalmente el Layout Dinámico

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>@yield('title', $config->seo_title)</title>
    <meta name="description" content="@yield('description', $config->seo_description)">
    <meta property="og:type" content="website" />
    <meta property="og:description" content="@yield('description',  $config->seo_description)"/>
    <meta property="og:url" content="@yield('url','https://artesanias.com')"/>   
    <meta property="og:site_name" content="artesanias.com" />
    <meta property="og:image" content="@yield('image','https://artesanias.com/img/configuracion/'.$config->seo_urlfoto)" />
    <link rel="canonical" href="@yield('url','https://artesanias.com')"/>
    <link rel="shortcut icon" href="/img/configuracion/{{$config->urlfavicon}}" type="image/png" />

    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <script src="/js/jquery.min.js"></script>
    <script src="/js/bootstrap.min.js"></script>
    <script src="https://cdn.ckeditor.com/4.15.0/standard/ckeditor.js"></script>

</head>
<body>

  ...

        @yield('content')
</body>
</html>

 


1420 visitas

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Descargar ahora

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023