matheusrodricon / store-framework

https://lab.github.com/vtex-trainings/store-framework
0 stars 0 forks source link

Building a custom search landing page #21

Open github-learning-lab[bot] opened 4 years ago

github-learning-lab[bot] commented 4 years ago

Construindo uma landing customizada de busca

:sparkles: Branch: searchlanding

Introdução

No step anterior, você pôde aprender um pouco mais sobre como criar um template customizado. É muito comum que, em cenários de promoção e datas comemorativas, seja necessário criar landing pages especiais.

Buscas customizadas

Vimos que a busca infere o que precisa pelo contexto que está inclusa. Numa página customizada, no entanto, o contexto não existe e é preciso que se defina qual a query deve ser realizada para inferir os resultados. Tudo isso é possível através do search-result-layout.customQuery.

Query schema

A query schema é uma das props do search result custom query com ela é possível controlar a busca que a nossa landing page deverá fazer. Para saber todas as possibilidades da query schema, veja sua documentação aqui.

Atividade

image

  1. Defina uma rota nova (store.custom#landing) no arquivo routes.json;
"store.custom#landing": {
  "path": "/landing"
}
  1. Crie um novo arquivo na pasta de blocos chamado search-landing.jsonc;
  2. Crie um novo template custom store.custom#landing;
  3. Defina o bloco image como um dos blocos desse template. Este bloco deve possuir props minWidth de 100% e uma imagem a sua escolha.
  4. Faça o mesmo com o search-result-layout.customQuery:
{
  "store.custom#landing": { 
    "blocks": [
      "image#landingbanner", 
      "search-result-layout.customQuery"
    ]
  }
}
  1. Defina o bloco search-result-layout.customQuery com prop de querySchema que:
    • Ordena por data de lançamento de forma descrescente;
    • Esconda itens indisponíveis;
    • Mostre um máximo de 8 itens por página;
    • Use como query "Blue Top Retro Camera";
    • Use como mapField ft.

:no_entry_sign: Perdido?

Há algum problema com esse passo? Que tal nos enviar um feedback? :pray:

Criar feedback


Se ainda tiver dúvida sobre como enviar sua resposta, você pode rever aqui.

github-learning-lab[bot] commented 4 years ago

Você terminou este passo com sucesso!

Vá para o próximo passo!

vtex-course-hub[bot] commented 4 years ago

Oopsie, something went wrong :crying_cat_face:

Results

:x:

Tests

:x: Didn't manage to load a searchlanding.json or routes.json file on your repository :(

Try again :grin:

vtex-course-hub[bot] commented 4 years ago

You did great! :grin:

Results

:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:

Tests

:white_check_mark: Code compilation :white_check_mark: Define a new route :white_check_mark: Define a store.custom block :white_check_mark: Use image block on the store.custom blocks and define the banner :white_check_mark: Use search-result-layout.customQuery block on the store.custom blocks and define it :white_check_mark: Define the customQuery props