Y el teaser también tiene solo un campo, un titular. Muy sencillo. Y el titular es de tipo tarea. Entonces, ¿qué tenemos en el siguiente sitio? Porque todavía no vemos la vista previa de esos componentes y la razón es porque no los renderizamos. ¿Entonces cómo los renderizamos? Como primero necesitamos crearlos en Nuxt. Así que en Nuxt los estoy creando, ya los creé y puedes ver aquí que tengo un componente de característica que básicamente renderizo con estilos de Tailwind un nombre, un texto. El texto o el contenido lo obtengo a través de la propiedad llamada bloque y es como una cascada desde el nivel de la página hasta los componentes o bloques correctos. Y luego hay algo especial que se llama tabla VUD y esto es porque en el modo de borrador de Storyblock podemos habilitar la edición en tiempo real y ver la edición en tiempo real mientras escribimos y hacemos clic en el sitio web para mejorar mi experiencia con Storyblock y editar el contenido para el modo de borrador, no la producción, eso es importante. La producción no se toca y es lo más rápido posible o lo más rápido que puedas hacerlo. Lo mismo ocurre, por supuesto, para el teaser, solo estamos renderizando el titular y lo mismo. Así que verás mucho de este bloque porque lo mismo ocurre en esta cuadrícula donde obtengo mi contenido a través del bloque, pero aquí hay un pequeño truco que estoy usando un componente dinámico de la vista para renderizar el componente dinámico porque originalmente no sabía si podría ser una característica o un teaser u otro tipo de característica, así que como no sé qué tipo de componentes vendrán aquí, aquí estoy recorriendo el bloque llamado columnas, así que aquí puedes ver que este es el campo llamado columnas y recorriendo esto y si voy al contenido y te muestro también en JSON, aquí en la API rest podemos buscar columnas. Vemos que aquí hay un componente básicamente este componente se llama cuadrícula y contiene un campo llamado columnas y estas columnas tienen tres objetos y esos tres objetos representan esas tres características que puedes ver aquí en la cuadrícula. Y lo mismo ocurre aquí, simplemente los recorremos para averiguar qué tipo es, por lo que block.component es el tipo de componente que está aquí, ese componente está devolviendo la característica y si este block.component devuelve la característica, sé que debo renderizar la característica y este es el comportamiento predeterminado de la vista, por lo que este es un enfoque realmente poderoso que ya puedes usar.
¿Qué sigue? Así que esto y luego simplemente renderizas la característica. Bastante simple y lo mismo ocurre básicamente para la página, simplemente recorremos los componentes y el campo llamado cuerpo para sus componentes, por lo que ese es el nivel más alto, por lo que esta es la página, hay un campo cuerpo y contiene en este momento dos componentes, teaser y cuadrícula, por lo que sabemos que en el orden los vamos a renderizar. Genial, todavía no los vimos y la razón por la que no los vi es porque no los registramos en el siguiente, puedes hacerlo de varias formas, como la forma antigua, pero la mejor forma sería hacerlo, definitivamente te animaría a hacerlo siempre en el momento, es simplemente ir a un componente, por lo que puedes hacerlo, por ejemplo, aquí mismo. Componentes verdadero y ahora Nuxt importará automáticamente los componentes desde la carpeta de componentes si es necesario. En este caso, deberíamos ver un cambio aquí lentamente, pero no lo veremos porque todavía no solicitamos los datos de Storyblock, simplemente conectamos Storyblock al proyecto Nuxt pero no los solicitamos. Entonces todavía necesitamos llamar y usar la llamada axios a la API. Para hacer eso, necesitamos ir a la página de índice en este caso y esto también es lo que estoy haciendo solo en este ejemplo, puedes abstraer estas funciones y luego reutilizarlas en las muchas páginas que necesites y hay como talleres sobre cómo hacerlo multilingüe y otras cosas como esta. Entonces, lo que voy a hacer aquí es tal vez lo haré un poco más grande, es que voy a eliminar básicamente las cosas aquí. Así que ahora, hagámoslo un poco más grande para que veas que es la pantalla de bienvenida original del proyecto siguiente, así que ya no la necesito, así que vamos a eliminarla, agregué mi código, así que en este caso estoy descubriendo qué tipo de componente quiero renderizar en este caso, podría reemplazar esto también con una página. Sé que no voy a renderizar un logotipo, luego haré algo de mi código para solicitar algunos datos y básicamente puedo eliminar todo el estilo. Entonces, ¿cuál es mi script aquí? Mi script aquí simplemente configura el esqueleto de mis datos, como lo que probablemente espero y luego en el gancho async de datos solicito mis datos, estoy usando la API de Storyblock que ya fue instalada por el módulo Storyblock. En el context.app tengo Story API y aquí estoy solicitando el contenido de inicio. Estoy solicitando estáticamente el contenido y no dinámicamente porque sé que estoy en la página de índice en este caso. Pero en el mundo real podrás descubrir el conjunto completo de lo que deberías solicitar en Storyblock, por ejemplo, con esta línea y lo mismo ocurre también con la versión porque en este momento estamos solicitando solo la versión de borrador, pero en el mundo real, si vas a producción, podrás descubrir si debo obtener contenido de producción o debo obtener contenido de borrador para Storyblock, así que exactamente algo así encontrarás la versión. Esto básicamente está solicitando datos y en caso de que obtengamos datos, los devolveremos a los datos y deberíamos verlos. Entonces, si ahora todo se reconstruye, sí, vemos nuestro contenido y esto es bastante genial. Podemos comenzar a editarlo como hola vista, podemos guardarlo y aún tenemos que volver a cargarlo para ver la actualización. Y este guardar y volver a cargar está básicamente contaminando nuestro historial aquí porque cada vez que tenemos que volver a cargar y ver la vista previa, crearemos una nueva versión de nuestro contenido, lo cual es un poco complicado y creo que podemos hacerlo mejor con la vista y el siguiente.
Comments