06 Detalle del pedido y Login – Taller de desarrollo de una Tienda en Línea

Hola, bienvenido(a), al Post 06 del Taller de Desarrollo de una Tienda en línea con Bootstrap, Laravel 5.1 y la API de Paypal.

Hoy vamos a crear el Detalle del pedido, que es la sección del sitio que muestra los datos del usuario y los productos que se han agregado al carrito y en donde el usuario elegirá si desea comprar los productos y por lo tanto generar un pedido.

Para poder mostrar el Detalle del pedido el sistema determinara si el usuario ha iniciado sesión, de no ser así lo redireccionara al formulario de inicio de sesión.

Para poder implementar esta característica es necesario que configuremos las funcionalidades que permitan a los usuarios:

  • Crear una cuenta
  • Iniciar / finalizar sesión
  • Recuperar su password

En Laravel 5 estas funcionalidades ya venían habilitadas y configuradas por lo que no era necesario hacer nada, en Laravel 5.1 es necesario que configuremos las rutas y las vistas, para ello nos auxiliaremos con la documentación de Laravel.

En esta clase vemos entre otros temas de Laravel, los siguientes:

  • Rutas y Controladores
  • Vistas, vistas parciales y templates
  • Uso de Blade (motor de plantillas)
  • Uso de Eloquent (ORM)
  • Middleware
  • Tinker
  • Sesiones

Te comparto el vídeo de la clase de hoy:

Te comento que ya subí el proyecto a Github con el nombre de tienda, así que si lo deseas puedes clonarlo y compararlo con tu propia versión.

Para poder probarlo en local es necesario que sigas los siguientes pasos:

  1. Clonar / Descargar el proyecto
  2. Descomprimirlo, renombrarlo y moverlo a la carpeta donde guardas tus proyectos
  3. Entrar desde la línea de comandos a la carpeta del proyecto y ejecutar: composer install, esto es necesario para que se instalen todas las librerías ya que estas no se suben a github.
  4. Crear tu propia base de datos
  5. Crear el archivo .env y en el configurar la conexión a tu base de datos
  6. Crear la clave de seguridad con el comando: php artisan key:generate
  7. Ejecutar el comando: php artisan migrate:install, para que se cree la tabla de las migraciones
  8. Ejecutar el comando php artisan migrate, para que se creen las tablas Categories y Products
  9. Ejecutar el comando: php artisan db:seed, para cargar los datos de prueba en las tablas correspondientes
  10. Hacer pruebas para verificar que todo funcione bien

Eso es todo para este post.

Espero tus comentarios y nos vemos en el siguiente 🙂

  • Celpabu

    estuvo interesante el 6 video tutorial espero el siguiente con ansias gracias, sigue pa lante

    • Gracias, ya casi termino el siguiente vídeo, saludos 🙂

  • Linda Mejia Laura

    hola tengo un problema … es este punto :
    . cuando ya “inicie session” y escogo un producto el que sea.. LO AGREGO AL CARRITO luego vuelvo a seguir comprando y sin querer vuelvo a escoger el mismo producto-playera entonces siempre me sale el siguiente error:

    .FatalErrorException in ClassLoader.php line 314:
    Maximum function nesting level of ‘100’ reached, aborting!
    in ClassLoader.php line 314
    at FatalErrorException->__construct() in HandleExceptions.php line 133
    at HandleExceptions->fatalExceptionFromError() in HandleExceptions.php line 118
    at HandleExceptions->handleShutdown() in HandleExceptions.php line 0

    NOTA SOLO es cuando ya valide a un usuraio y este vuelve a escoger el mismo producto………
    cuando no esta validado o registrado el usario y por error vuelvo a escoger el mismo producto no pasa nada (osea esta bien) se sobreescribe y todo bien……………

    • Linda Mejia Laura

      ,mmmmmmmmm ,,, tambien me sale ese MISMO error si, creo un usuario nuevo , y luego que inicio sesion con ese usuario agrego un nuevo producto al carrito me sale mismo error—

      • Hola Laura, creo que el error no esta en el código, al parecer tiene que ver con la configuración en tu php.ini, mira esto:

        This error only occurs when xdebug is installed and is common with the default maximum of 100 (without xdebug, there is no cap).

        xdebug.max_nesting_level = 200

        in your php.ini will fix it up

        Revisa si en tu php.ini tienes habilitado xdebug.max_nesting_level y de ser así cámbiale el valor a 200 o más, reinicias tu server y haces pruebas. Espero esto te sea de ayuda 🙂

  • Jhonny

    Hola, primero que todo felicitarte y darte las gracias por estos tutoriales, estan muy buenos :)… bueno tengo un problema, estoy en la parte del login, y cuando quiero ir a la pantalla de inicio de sesion me da este error..

    Function () does not exist
    he revisado varias veces el codigo, comparado con lo que tu haces, y no se como solucionarlo :/ espero me puedas ayudar, gracias de antemano :), saludos

    • Hola Jhonny, gracias por tus felicitaciones, respecto al error que mencionas, puedes clonar el repositorio de github https://github.com/ovedfs/tienda para comparar el código de la aplicación con el tuyo, saludos!

      • Jhonny

        si eso hice, y ya lo solucione 🙂 gracias

  • Andru Aguilar

    Hola, Muchas gracias por esta serie de vídeos la verdad es que me están ayudando bastante.

    Me gustaria que me ayudaras con este error

    Call to undefined function csrf_field()

  • Jorge Ivan Bedoya Acevedo

    Se pueden poner más tipos de pago?
    Gracias…

  • Jesus Guillermo Mendez

    Buen tutorial, tengo un problema cuando quiero desloguearme no me sale de la sesion si no que me redirige al home con el mismo usuario. Alguna ayuda al respecto ?