Skip to content

Building a custom search landing page #21

@github-learning-lab

Description

@github-learning-lab

Construyendo un landing personalizado de búsqueda

Branch: searchlanding

Introducción

En el step anterior, pudo aprender un poco más sobre cómo crear un template personalizado. Es muy común que, en escenarios de promoción y fechas conmemorativas, sea necesario crear landing pages especiales.

Búsquedas personalizadas

Vimos que la búsqueda infiere lo que necesita por el contexto en que se incluye. En una página personalizada, sin embargo, el contexto no existe y es necesario definir cuál query se debe realizar para inferir los resultados. Todo esto es posible a través de search-result-layout.customQuery .

Query schema

Query schema es una de las props de search result custom query
con el que puede controlar la búsqueda que debería hacer nuestro landing page. Para conocer todas las posibilidades de query schema, vea su documentación aquí.

Actividad

image

  1. Defina una ruta nueva (store.custom#landing) en el archivo routes.json .
"store.custom#landing": {
  "path": "/landing"
}
  1. Cree un nuevo archivo en la carpeta de bloques llamado search-landing.jsonc .
  2. Cree un nuevo template custom store.custom#landing .
  3. Defina el bloque image como uno de los bloques de este template. Este bloque debe tener props minWidth de 100% y una imagen de su elección.
  4. Haga lo mismo con search-result-layout.customQuery:
{
  "store.custom#landing": { 
    "blocks": [
      "image#landingbanner", 
      "search-result-layout.customQuery"
    ]
  }
}
  1. Defina el bloque search-result-layout.customQuery con prop de querySchema que:
  • Ordene por fecha de lanzamiento de forma descendente.
  • Esconda ítems indisponibles.
  • Muestre un máximo de 8 ítems por página.
  • Use como query "Blue Top Retro Camera".
  • Use como mapField ft .

🚫 ¿Perdido?

¿Hay algún problema con este paso? ¿Qué tal si nos envía un feedback? 🙏

Crear feedback


Si aún tiene alguna duda sobre cómo enviar su respuesta, puede revisar aquí.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions