Usuario:ManuelRomero/Laravel/view

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg




Modificando la página por defecto

  • Hemos visto como modificar el contenido de la inforamción que aparece por defecto en la página inicial
  • Si abrimos el fichero app/routes.php vemos
Route::get('/', function()
{
return View::make('hello');
});

Lo podemos modificar por lo que queremos que aparezca

Route::get('/', function()
{
return 'Esta va a ser mi primera aplicación con Laravel!';
});
  • A continuación vamos a crear otras páginas como el el ejemplo siguiente
  1. Home page
  2. About page
  3. Contact page
  • Típicas páginas que podemos encontrar en cualquier sitio web
  • Lo primero que haremos será modificar nuestro fichero de route.php
Route::get('/', function(){
return 'Bievenido a mi sitio web Página princial!';
});
 
Route::get('/about', function(){
return 'Este es el contenido de la página about';
});
 
Route::get('/contact', function(){
return 'Este es el contenido de la página contectos';
});
  • Vemos como efectivamente si accedemos a cada una de las páginas vemos cada uno de los sitios
  1. localhost:8000/
  2. localhost:8000/contact
  3. localhost:8000/about
  • Vamos a usar las plantillas para crear cada uno de las páginas
  • Laravel usa Blade como gestor de plantillas, un sencillo sistema que permite implementar la filosofía de MVC en laravel como podremos comprobar en breve.
  • Los ficheros que son plantillas en larevel tienen los siguientes requisitos
  1. terminan por la extensión *.blade.php'
  2. Están ubicados en .app/views
  • Vamos a crear una plantilla que llameremos layout. Para ello creamos en app/view el fichero layout.blade.php con el siguiente contenido

Idioma no válido.

Necesita especificar un idioma como esto: <source lang="html4strict">...</source>

lenguajes soportados para sintaxis remarcada:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Creando mi primer sitio laravel </title>
 </head>
 <body>
  <ul>
    <li><a href="./">Página princial</a></li>
    <li><a href="./about">Acerca del sition</a></li>
    <li><a href="./contact">Copntacta con nosotros</a></li>
  </ul>
 </body>
</html>

Esta sería una página general. supongamos que qeremos que nos aparezca esta información en todas las páginas, pero en cada una de ella queremos añadir más cosas. Para ello suarmeos una etiqueta de blade llamada yield. Las directivas o etiquetas en laravel se añaden usando la arroba @, por lo que añadimos el siguiente campo justo al final del fichero

.....
    <li><a href="./contact">Copntacta con nosotros</a></li>
  </ul>
   @yield('contenido')
 </body>
</html>
  • Le estamos especificando a laravel que justo ahí añada un contenido, que según la página que hayamos seleccionado será uno u otro.
  • Vamos a hacerlo para cada una de las páginas. Por lo tanto tendremos que crear tres plantillas. Recordamos que se hace en le directorio app/view, y que tienes que tener la extensión .blade.php