Post Top Ad

Your Ad Spot

domingo, 19 de abril de 2020

Herencia de plantilla

Diseño de página maestra

El diseño de la página maestra define el diseño común en todas las páginas web. Todas las aplicaciones web tienen el diseño de página maestra para definir el diseño común en todas las páginas web. El motor de plantillas de cuchillas define el diseño maestro que puede ser extendido por todas las páginas web. El diseño de la página maestra está disponible en el directorio / resources / views / layouts / .
Comprendamos a través de un ejemplo.
  • Primero, cree la carpeta denominada ' diseño ' en el directorio resources / views / .
  • Ahora, cree un nuevo archivo en la carpeta de diseño ' master.blade.php '.
  • Agregamos el siguiente código en el archivo master.blade.php .
master.blade.php
  1. <html>  
  2. <head>  
  3. <title> Diseño de página maestra </title>  
  4. </head>  
  5. <cuerpo>  
  6. <div  class "container" >  
  7. @yield ( 'contenido' )  
  8. </div>  
  9. @yield ( 'pie de página' )  
  10. </body>  
  11. </html>  
En el código anterior, hemos usado la directiva @yield. El @yield se utiliza para mostrar el contenido. @Yield ('contenido') muestra el contenido del 'contenido' mientras que @yield ('pie de página') muestra el contenido del pie de página.

Ampliación del diseño maestro

  • Ahora, vamos a extender el diseño maestro anterior en el archivo contact.blade.php como se muestra a continuación:
Contact.blade.php
  1. extiende 'layout.master' )  
  2. @section ( 'contenido' )  
  3. <h1> Página de contacto </h1>   
  4. @detener  
En el código anterior, usamos la directiva @extends . La directiva @extends ' se usa para heredar el diseño de la cuchilla en el archivo contact.blade.php . La '@sección (' contenido ')' define la sección del contenido.
  • Ahora, agregue la siguiente ruta en el archivo web.php .
  1. Ruta :: get ( '/ contact' ,  function  () {  
  2.      vista de retorno 'contacto' );  
  3. });  
Salida
Herencia de plantilla de Laravel
También podemos agregar el código javascript en el archivo contact.blade.php . Supongamos que agregué el siguiente código en el archivo contact.blade.php .
  1. @section ( 'pie de página' )  
  2. <script> alerta ( "Hola JavaTpoint" ) </script>      
  3. @detener  
En el código anterior, creé el cuadro de alerta, que muestra el mensaje " Hola JavaTpoint ".
Salida
Herencia de plantilla de Laravel
Veamos otro ejemplo de plantilla de hoja.
  • Creamos un nuevo archivo llamado " post.blade.php ".
post.blade.php
  1. extiende 'layout.master' )  
  2. @section ( 'contenido' )  
  3. <h1> Página de publicación: </h1>  
  4. <h2> id es: {{ $ id }} <br> La contraseña es: {{ $ password }} <br> El nombre es: {{ $ name }} </h2>  
  5. @detener  
El código anterior define la sección del contenido en el que estamos mostrando los valores de id, contraseña y nombre respectivamente.
  • Ahora, creamos un controlador llamado ' PostController.php '.
PostController.php
  1. <? php  
  2.   
  3. aplicación de espacio de nombres \ Http \ Controllers;  
  4.   
  5. use  Illuminate \ Http \ Request;  
  6.   
  7. clase  PostController  extiende  controlador  
  8. {  
  9.     //  
  10.  función pública  show_post ( $ id $ contraseña $ nombre )   
  11. {  
  12.    vista de retorno 'post' , compacto ( 'id' 'contraseña' 'nombre' ));  
  13. }}  
En el archivo PostController.php , definimos una nueva función llamada show_post () que pasa los datos al archivo post.blade.php .
  • Por último, definimos una ruta en el archivo web.php .
web.php
  1. Ruta :: get ( '/ post / {id} / {password} / {name}' 'PostController @ show_post' );  
Salida
Herencia de plantilla de Laravel
Hasta ahora, hemos visto que tanto los archivos post.blade.php como contact.blade.php están extendiendo el archivo de diseño maestro. Esta es la principal ventaja de un diseño maestro de que cada archivo puede extender el diseño del archivo maestro y agregar sus propias funcionalidades.

Uso de la directiva @parent

El uso de la directiva @parent es para mostrar el contenido de la sección definida en el diseño maestro.
Comprendamos a través de un ejemplo.
  • Primero, creamos un archivo maestro.
master.blade.php
  1. <html>  
  2. <head>  
  3. <title> Diseño de página maestra </title>  
  4. </head>  
  5. <cuerpo>  
  6. <div  class "container" >  
  7. @yield ( 'contenido' )  
  8. </div>  
  9. @section ( 'pie de página' )  
  10. Esto es pie de página   
  11. @show  
  12. </body>  
  13. </html>  
  • Ahora, creamos el contact.blade.php en el que ampliamos el archivo master.blade.php anterior .
  1. extiende 'layout.master' )  
  2. @section ( 'contenido' )  
  3. <h1> Página de contacto </h1>  
  4. @detener   
  5. @section ( 'pie de página' )  
  6. @padre  
  7. <p> esto se agrega </p>  
  8. @detener  
En el código anterior, la directiva @parent agrega el contenido del párrafo a la sección de pie de página.
Salida
Herencia de plantilla de Laravel

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas