Home | Clases | Creación de un CMS en PHP con Laravel | Noticias en el back-end

Noticias en el back-end


Introducción

Puesto que ya previamente en el front-end habíamos creado el modelo Noticia, en este apartado podemos directamente desarrollar las acciones relativas a la gestión de noticias desde el panel de administración, así como sus vistas asociadas.


Archivo de rutas

No obstante, lo primero que debemos hacer es añadir a nuestro archivo routes/web.php, al que además le añadiremos una ruta "comodín" o ruta por defecto para redireccionar a la home en caso de no encontrar una ruta válida:



Como ves, estas rutas usan el middleware Roles que ya creamos y utilizamos en usuarios, si bien en este caso lo que se comprueba es que el usuario tenga acceso a noticias.


NoticiaController

Modifica el archivo app/Http/Controller/NoticiaController con el siguiente contenido:




Modelo Noticia

A la hora de guardar una nueva noticia, hemos utilizado el método create de Laravel, que, tal y como ya hicimos en Usuario, nos obliga a indicar qué atributos del modelo son asignables en masa o fillables.

Modifica el modelo Noticia (app/Models/Noticia.php):




NoticiaRequest

También en este caso hemos creado un FormRequest para validar ciertos datos de las noticias.

Para ello, primero hemos creado NoticiaRequest desde la consola con el comando:



Y luego lo hemos editado para incluir nuestras reglas (archivo app/Http/Requests/NoticiaRequest.php):




Vista de listado de noticias (archivo resources/views/admin/noticias/index.blade.php)






Vista de creación/edición de noticias (archivo resources/views/admin/noticias/editar.blade.php)






Ejercicios propuestos


  • Modifica el proyecto para que sea obligatorio que las noticias incluyan una imagen.

  • Modifica el proyecto para que el único formato de imagen admitido sea jpg.

  • Usando la librería Intervention Image, modifica el proyecto para que admita distintos tipos de imágenes, pero estas se conviertan a png con un ancho fijo de 900px (y un alto proporcional que no deforme la imagen).



Fecha de publicación: 24/05/2019
Asignaturas: desarrollo web en entorno servidordespliegue de aplicaciones web
Temas: blog gestor de contenidos laravel php css jquery
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos