Bien, básicamente crearemos un controlador más donde escribiremos el código de vista del Post.
<?php
namespace App\Controllers;
use App\Models\BlogPost;
class ViewController extends BaseController{
public function getPost($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>
<img src="{{ 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. 😃
Introducción a PHP-2017
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE
0 Comentarios
para escribir tu comentario




