1

Agregar vistas unitarias para cada Post

Sebastian Jesús
SebJes
4171

Bien, básicamente crearemos un controlador más donde escribiremos el código de vista del Post.

<?phpnamespaceApp\Controllers;

	useApp\Models\BlogPost;
	
	classViewControllerextendsBaseController{
		publicfunctiongetPost($id){
			$blogPost = BlogPost::find($id);
			return $this->render('view-post.twig', ['blogPost' => $blogPost]);
		}
	}

Para continuar, agregaremos una nueva vista…

{% extends "layouts/layout.twig" %}{% block content %}<center><h2>{{ blogPost.title }}</h2></center>{% if blogPost.img_url %}<p><imgsrc="{{ blogPost.img_url }}"width="100%"height="200px" /></p>{% endif %}<p>{{ blogPost.content }}</p><p>{{ blogPost.created_at }}</p>{% endblock %}

Por último, iremos a nuestro archivo donde tenemos las rutas y agregaremos una nueva

$router->controller('/', App\Controllers\ViewController::class);

Para explicar rapidamente, creamos un nuevo controlador más que todo por orden, ya que si quisiera una vista unitaria para cada usuario podemos agregar ahí la función.
En cuanto a la ruta, para accede a cada post quedaría por ejemplo

_**../public/post/{post_id}**_

Con eso agregarían al index en el listado de posts, cada uno con un link con su id correspondiente. 😃

Escribe tu comentario
+ 2