OBJECT PageElement
Elemento de página customizável que compõe layouts de páginas da loja.
Campos
| Campo | Tipo | Descrição |
| element | Element! | Definição do elemento (tipo, propriedades, sub-elementos). |
| children | [PageElement!]! | Elementos filhos (estrutura recursiva em árvore). |
| props | String! | Propriedades de configuração serializadas em JSON. |
Element
| Campo | Tipo | Descrição |
| id | ID! | ID global Relay do elemento. |
| type | String! | Tipo do elemento (ex: "hero", "text", "image", "carousel"). |
| props | JSON! | Propriedades do elemento (formato varia por tipo). |
| subElements | [Element!]! | Sub-elementos aninhados. |
Query
query GetPageElements($hostname: String!) {
client(hostname: $hostname) {
pages {
slug
elements {
element {
id
type
props
}
children {
element {
id
type
props
}
props
}
props
}
}
}
}
Resposta
{
"data": {
"client": {
"pages": [
{
"slug": "about",
"elements": [
{
"element": {
"id": "RWxlbWVudDphYmMx",
"type": "hero",
"props": {
"title": "Sobre nós",
"backgroundUrl": "https://..."
}
},
"children": [],
"props": "{}"
}
]
}
]
}
}
}