Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Smarty/Ejercicios»

De WikiEducator
Saltar a: navegación, buscar
(Práctica hola mundo)
 
(12 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Smarty/nav}}
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Smarty/nav}}
  
===Práctica hola mundo===
+
 
*La primera práctica es simplemente visualizar un usuario registrado
+
===[[Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Smarty/ejercicios/ejercicio1|Ejercicio 1: Realizar una plantilla ]]===
*El la página principal un formulario para que inserte su nombre
+
<br/>
 +
{{MRM_Actividad|Title=Realiza un plantilla|
 +
*El la página principal se verá un formulario para que inserte su nombre
 
*Una vez que se ha registrado solo visualizaremos su nombre y un botón para volver a insertar nombre (Que vuelva a aparecer el formulario con la caja de texto)
 
*Una vez que se ha registrado solo visualizaremos su nombre y un botón para volver a insertar nombre (Que vuelva a aparecer el formulario con la caja de texto)
 
*No hay que guardar valores en variables
 
*No hay que guardar valores en variables
 
*Incluimos un '''''css ''''' para ver cómo se cargan desde la plantilla.
 
*Incluimos un '''''css ''''' para ver cómo se cargan desde la plantilla.
[[Archivo:registro1PHP.png]]
 
*Si lo ha insertado visualizamos
 
Bienvenido a tu sitio web $nombreUsuario
 
*Pasos:
 
 
#Cargamos con composer la librería de Smarty
 
#Cargamos con composer la librería de Smarty
<source lang=json>
+
<source lang=php>
 
{
 
{
 
   require:{
 
   require:{
Línea 21: Línea 19:
 
#creamos la estructura de directorios del proyecto
 
#creamos la estructura de directorios del proyecto
 
#creamos el fichero index.php
 
#creamos el fichero index.php
#creamos la plantilla paginaWeb.tpl
+
#creamos la plantilla index.tpl
 
+
}}
<source lang=php>
+
===[[Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Smarty/ejercicios/ejercicio2|Ejercicio 2: Mostrar contenido de tablas ]]===
//index.php
+
{|border=1 cellspacing=0 cellpadding=5
<?php
+
|
//.....
+
{{MRM_Actividad|Title: Mostrar contenido de tablas
require_once('Smarty.class.php');
+
*Accedemos a la base de datos
$smarty = new Smarty;
+
*El usuario verá la fecha actual y hora en la cabecera de la aplicación
$smarty->template_dir = '/web/smarty/smarty1/templates/';
+
*Para ello se debe de usar la función de smarty.
$smarty->compile_dir = '/web/smarty/smarty1/templates_c/';
+
$smarty->config_dir = '/web/smarty/smarty1/configs/';
+
$smarty->cache_dir = '/web/smarty/smarty1/cache/';
+
 
+
session_start();
+
if (!$_SESSION['usuario']){
+
    $_SESSION['usuario']=$_POST['usuario'];
+
    echo "Valor de usuario ".$_SESSION['usuario'];
+
}
+
$smarty->assign('usuario',$_SESSION['usuario']);
+
 
+
$smarty->display('paginaWeb.tpl')
+
?>
+
</source>
+
 
<source lang=html5>
 
<source lang=html5>
//paginaWeb.tpl
+
<h2>Fecha actual {date("d-m-y H:i:s")}</h2>
 
+
<!DOCTYPE html>
+
 
+
<html>
+
    <head>
+
        <title>página de smarty</title>
+
        <meta charset="UTF-8">
+
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
    </head>
+
    <body>
+
        {*Usando motor de plantillas smarty*}
+
       
+
        {if empty($usuario)}
+
        <form action="http://localhost/practicaSmarty/index.php" method="POST">
+
            Usuario
+
            <input type="text" name ="usuario"/>
+
            <input type =submit value="acceder">
+
        </form>
+
        {else}
+
            <h1>Bienvenido al sitio web {$usuario}</h1>
+
        {/if}
+
     
+
    </body>
+
</html>
+
 
+
 
</source>
 
</source>
 
+
*El usuario verá 4 botones: Tiendas,Productos, Stocks y  Familias
===Lista de productos usuario registrado===
+
[[Archivo:tiendas_familias.png|280px]]
*Primero el usuario se registra contra la bd
+
*Al presionar verá un listado de elemento correspondiente con un botón de volver
*Una vez logueado visualizaremos su nombre
+
*Mostramos todas las tiendas, familias, stocks o productos según la opción selecionada
*Debajo veremos una lista de los productos disponibles
+
*Pero en este caso debemos tener la estructura de ficheros como muestra '''''la imagen adjunta'''''
*Lo visualizamos en una lista de productos, cada uno con un botón para comprar. de los productos visualizamos el nombre corto y el precio
+
}}
 +
|
 +
[[Archivo:tree_proyecto.png]]
 +
|}

Última revisión de 04:51 28 abr 2020




Ejercicio 1: Realizar una plantilla



Icon activity.jpg
Realiza un plantilla
  • El la página principal se verá un formulario para que inserte su nombre
  • Una vez que se ha registrado solo visualizaremos su nombre y un botón para volver a insertar nombre (Que vuelva a aparecer el formulario con la caja de texto)
  • No hay que guardar valores en variables
  • Incluimos un css para ver cómo se cargan desde la plantilla.
  1. Cargamos con composer la librería de Smarty
{
   require:{
             "smarty/smarty":"~3.1"
           }
}
  1. creamos la estructura de directorios del proyecto
  2. creamos el fichero index.php
  3. creamos la plantilla index.tpl



Ejercicio 2: Mostrar contenido de tablas


Icon activity.jpg
Actividad
Title: Mostrar contenido de tablas
  • Accedemos a la base de datos
  • El usuario verá la fecha actual y hora en la cabecera de la aplicación
  • Para ello se debe de usar la función de smarty.
<h2>Fecha actual {date("d-m-y H:i:s")}</h2>
  • El usuario verá 4 botones: Tiendas,Productos, Stocks y Familias

Tiendas familias.png

  • Al presionar verá un listado de elemento correspondiente con un botón de volver
  • Mostramos todas las tiendas, familias, stocks o productos según la opción selecionada
  • Pero en este caso debemos tener la estructura de ficheros como muestra la imagen adjunta



Tree proyecto.png