Una de las grandes potencialidades que tenemos en Modyo es la gestión de contenidos independiente del canal donde lo desplegamos y es por esto que acá vamos a entender cómo funciona el SDK de Liquid para poder conectar los módulos de Content con Channels.
Lo primero que tenemos que hacer es tener un Space y un Type con contenido ya cargado y con un assign de liquid vamos a llamarlos desde un page.
En el siguiente ejemplo, entries es asignado todas las entradas del espacio 'space_uid' con tipo 'type_uid'.
{% assign entries = spaces['space_uid'].types['type_uid'].entries %}
Next, we display the entries using a for, printing the 'meta.uuid' and 'meta.title' from each entry. Luego, desplegamos las entradas utilizando un for, imprimiendo 'meta.uuid' y 'meta.title' de cada entry.
{% for entry in entries %}
entry: {{ entry.meta.uuid }} - {{ entry.meta.title }}
{% endfor %}
Ahora ya podemos generar el html usando Liquid Drops. Usando output statements imprimimos los campos meta.title
y fields.name
.
{{ entry.meta.title }}
{{ entry.fields.excerpt }}
Filtros
El assign que utilizamos nos va a traer un loop de todas las entradas en content, pero si queremos filtrar podemos hacer en el mismo assign.
{% assign entries = spaces['space_uid'].types['type_uid'].entries | by_category: 'news' | by_tag: 'devs' | sort_by: 'fields.date' , 'desc' | limit 8%}
En este caso lo que hicimos fue filtrar por una categoría, luego un tag ordenarlos por un campo especifico y luego decirle al assign que solo traiga 8 entradas.
Para ver más ejemplos de lo que puedes hacer con Liquid SDK en Modyo, ve APIs y SDK en Modyo Docs.
Foto por Kelly Sikkema en Unsplash.