No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Introducci贸n a Laravel 8

Curso de Introducci贸n a Laravel 8

Profesor Italo Morales F

Profesor Italo Morales F

Index y Layout: complementar estructura

10/21
Recursos

Aportes 14

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Recomiendo tambi茅n instalar en VSCode la extensi贸n 鈥淟aravel Blade Snippets鈥 para poder trabajar m谩s c贸modamente con Blade y tener snippets que autocompletan sintaxis de Blade 馃槃
.
Les dejo el isotipo de Platzi:
.

.
Y el logotipo tambi茅n (es blanco, no se ve pero ah铆 est谩 xD):
.

Si tienen problemas con los estilos, ejecuten 鈥渘pm run development鈥 en la terminal, es uno de los scripts que estan en package.json

Si alguno tuvo el problema que no todas las clases de Tailwind no cargaban correctamente, lo que yo hice fue borrar la carpeta node_modules y lock file y reinstalar con npm install

Index y Layout: complementar estructura


  • asset() busca dentro de la carpeta public.

Para poder hacer una validaci贸n de imprimir si el usuario est谩 logeado o no, utilizamos el siguiente c贸digo

@auth
    <a href="{{url('dashboard')}}" class="text-sm text-gray-700 underline">Dashboard</a>
@else
    <a href="{{url('login')}}" class="text-sm text-gray-700 underline">Ingresar</a>
    <a href="{{url('register')}}" class="ml-4 text-sm text-gray-700 underline">Registro</a>
@endif

Les comparto el c贸digo del archivo
web.blade.php

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Cursos de Programaci贸n Web</title>
  <link rel="stylesheet" href="{{ asset('css/app.css') }}"
</head>
<body>
  <header class="shadow-lg">
    <div class="bg-blue-900 py-1"></div>
    <nav class="bg-blue-800 py-2">
      <a href="{{ route('home') }}">
        <img src="{{ asset('images/isotipo-platzi.png') }}" alt="" class="h-8 mx-auto">
      </a>
    </nav>
  </header>
  <main class="py-10">
    <div class="container mx-auto px-4">
      @yield('content')
    </div>
  </main>
  <footer class="py-4 text-center">
    @auth
      <a href="{{ url('dashboard') }}" class="text-sm text-gray-700 underline">
        Dashboard
      </a>
    @else
      <a href="{{ url('login') }}" class="text-sm text-gray-700 underline">
        Login
      </a>
      <a href="{{ url('register') }}" class="ml-4 text-sm text-gray-700 underline">
        Register
      </a>
    @endauth
  </footer>
</body>
</html>

Para los que tienen en general problemas con los estilos de tailwind en la version 3.x solo ejecuten npm run watch esto lo que har谩 es que mirara cada cambio que se haga con las clases de los div, section etc. y compilara los estilos para que los muestre Esto es un comando propio de tailwind

Si los estilos no funcionan no basta con solo correr el comando 鈥渘pm run development鈥, tenemos que ir a:
鈥渢ailwind.config.js鈥 y en la parte de module.exports tenemos que agregar la carpeta que no esta funcionando, esto le dir谩 al compilador que reduzca de tama帽o el tailwind en ese punto en especifico y que no consuma tanta memoria, en mi caso agregue en: module.exports en la parte de content: './layouts/**/*.blade.php鈥
En este lugar mis estilos no funcionaban, seguido de eso ejecutamos el: 鈥渘pm run development鈥 en terminal y se acuerdan de mi cuando les funcione.

Ruta
web.php

Route::view('/', 'index')->name('home');

En Laravel siempre hay varias formas de obtener el mismo resultado.
.
Comparto varias formas de generar urls, pueden usarse dentro de las etiquetas anchor o formularios
.

<a href="/articles/{{$article->id}}"></a>

<a href="{{url('/articles', $article->id)}}"></a>

{{-- llamar a las rutas por su nombre --}}
<a href="{{route('articles.index')}}"></a>


{{-- Si la ruta es muy larga y complicada se puede extraer hacia el modelo

	public function path() {
		return '/articles/card/'.$this->id;
	}

--}}

<a href="{{$card->path()}}"></a>

.
Habia una forma para llamar directamente una accion de un metodo, no tengo seguridad si ya es obsoleta (deprecated) pero no logre hacer que funcionara dentro de blade, la dejo por si acaso alguien se encuentra con esta estructura:
.

{{-- llamar una accion directamente, pasar array de parametros --}}
<a href="{{action('ArticlesController@show',[$article->i])}}"></a>
Eso de la imagen me sucede mucho con SASS, el cache no se va incluso utilizaba la funcion cache de php y lo configuraba para que se borrara la cache con cada reinicio y no funcionaba, a veces es molesto.

Los estilos de Tailwind se aplican una ves se ejecuta el comando 鈥渘pm run dev鈥, pero para no estar ejecuentando este comando cada vez que hagamos un cambio, se puede ejecutar el comando 鈥渘pm run watch鈥 en otra terminal para que siempre est茅 a la escucha de los cambios.

Me dio bastante guerra que tomara la nueva ruta home no actualizo
pueden listar las rutas por consola asi:
php artisan route:list
y para reiniciar las rutas con
php artisan route:clear

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Laravel 8 - Platzi - JJ</title>
    <link rel="stylesheet" href="{{ asset('css/app.css') }}">
</head>
<body>
    <header class="shadow-lg">
        <div class="bg-blue-900 py-1">

        </div>
        <nav class="bg-blue-800 py-2">
            <a href="{{ route('home') }}">
                <img src="{{ asset('images/isotipo-platzi.png') }}" class="h-8 mx-auto">
            </a>
        </nav>
    </header>
    <main class="py-10">
        <div class="container mx-auto px-4">
            @yield('content')
        </div>

    </main>
    <footer class="py-4 text-center">
        @auth 
            <a href="{{url('dashboard')}}" class="text-sm text-gray-700 underline">Dashboard</a>

        @else
            <a href="{{url('login')}}" class="text-sm text-gray-700 underline">Login</a>
            <a href="{{url('register')}}" class="ml-4 text-sm text-gray-700 underline">Registro</a>

        @endif



    </footer>
    
</body>
</html>

Porque los formularios de login y register no me aplica las clases de tailwind siendo que en los archivos construidos (index y web) si se aplicaron correctamente las clases ?