Pular para o conteúdo principal

Listagem

Introdução

A Listagem serve para apresentar uma série de itens relacionados — produtos, serviços, referências, notícias, e por aí fora. Cada Listagem tem um título/conteúdo introdutório próprio, e agrupa vários Itens, geridos à parte no backoffice (Listagem > Item).

Segue o mesmo mecanismo comum a todos os componentes, descrito em Visão Geral e Tipos de Componente.

Campos da Listagem

Além dos campos comuns (Tipo, Ordem, Modo de Edição, Inverter fundo, Ações), a Listagem tem:

CampoDescrição
Título (title)Título da listagem.
Conteúdo (content / html_content)Texto introdutório da listagem.
Imagem (image)Imagem associada à listagem em si (não aos itens).
Imagem Alt (image_alt)Texto alternativo da imagem.
Imagem Título (image_title)Atributo title da imagem.

Itens

Cada item pertence a uma Listagem (page_listing_id), e tem os seus próprios campos:

CampoDescrição
Título (title)Título do item.
Conteúdo (content / html_content)Texto do item.
Imagem (image)Imagem do item.
URL (link)Link do item — para onde o utilizador vai ao clicar.
Ordem (sorter)Posição do item dentro da listagem.

Repara que o Item não tem um campo Tipo próprio — ele herda o tipo da Listagem a que pertence: o componente React da Listagem passa o seu type para cada item ao renderizá-lo.

Estrutura de renderização

Ao contrário do Banner e do Conteúdo, onde cada tipo é uma pasta independente dentro do componente, na Listagem o componente que renderiza os itens (Item) fica dentro da pasta do tipo:

website/src/components/Listing/
├── index.jsx # roteador: escolhe o tipo de listagem
└── Default/
├── index.jsx # layout da listagem, renderiza os <Item />
├── info.json
├── config.json
└── Item/
└── index.jsx # como cada item é renderizado, para este tipo

Isto faz sentido porque a forma como um item é apresentado (grelha, lista, cartões...) costuma depender diretamente do layout da listagem — por isso o Item de cada tipo pode ser customizado junto com o tipo em si, em vez de ser um componente genérico partilhado por todos os tipos.

Tipos disponíveis

Hoje só existe o tipo Padrão (Default). Para criar um novo tipo de Listagem (com o seu próprio Item), segue o mesmo processo descrito em Tipos de Componente, lembrando de incluir a subpasta Item/ dentro do novo tipo.

Próximo passo

Continua para o Slider.