A entidade de item representa itens comercializáveis pela plataforma. Essa entidade pode representar produtos, serviços, tickets, entre outros.
Dados básicos
Os dados básicos do item podem ser acessados a partir das seguintes propriedades:
- prices
Coleção de registros da entidade ItemPrice representando os preços do item. Cada preço tem:
- price
Valor do preço de venda do item, já com as precificações aplicadas, se houver. Outras propriedades na documentação da entidade.
- price
- main_image
Imagem principal do item - images
Coleção com todas as imagens do item. Cada imagem tem:- source
Caminho da imagem no servidor - main
Flag sobre a imagem ser a principal ou não
- source
- categories
Coleção de registros da entidade Category representando cada categoria do item. - tags
Coleção com as tags do item. Cada tag tem:
- name
Nome da tag
- name
- identification
Coleção com os dados de identificação do item. Cada identificação tem:
- name
Nome do item - sku
Código SKU do item - ean
Código EAN do item
- name
- urls
Coleção de URLs do item. Cada URL tem:- url
URL do item - redirect_to
Caminho de redirecionamento da URL do item
- url
- measures
Coleção de medidas do item. Cada medida tem:
- gross_weight
Peso bruto do item - net_weight
Peso líquido do item - width
Largura do item - height
Altura do item - length
Comprimento do item - box_width
Largura da caixa do item - box_height
Altura da caixa do item - box_length
Comprimento da caixa do item
- gross_weight
- variations
Coleção de variações do item. São tratadas como itens a parte, sua estrutura é igual à do item pai.
Exemplo:
Nome do item: {{ $item->identification->first()->name }} (SKU: $item->identification->first()->sku }}
Preço: {{ $item->prices->first()->price }}
<a href="{{ $item->urls->first()->url }}">Clique aqui e veja mais detalhes</a>
Campos extras
Para carregar campos extras deve-se, a partir de uma instância da entidade Item, chamar a propriedade extraFields
. Essa propriedade contém uma Collection com todos os campos extras relacionados ao item e seus respectivos valores, onde cada índice da coleção pode ser acessado pelo slug do campo extra. Exemplo:
$item->extraFields->get('slug')
Para acessar os valores de cada campo extra, a propriedade values
está disponível e retorna uma nova instância do objeto Collection com cada um dos n valores que um item pode ter para o mesmo campo extra. Dessa forma, para acessar os valores dos campos extras de um item, pode-se fazer:
@foreach($item->extraFields as $slug => $extraField)
// Label do campo extra
{{$extraField->label}}
// Slug do campo extra que pode ser acessado além do valor encontrado em $slug
{{$extraField->slug}}
// Valores do campo extra
@foreach($extraField->values as $value)
// Para campos de valores simples (texto, numérico) ou valores grandes (textarea, wysiwyg)
{{$value->value}}
// Para campos com opções
{{$value->extraFieldOption->key}}
{{$value->extraFieldOption->label}}
{{$value->extraFieldOption->order}}
// Para campos de relação com entidade, onde 'record' retorna uma instancia da entidade relacionada
{{$value->record->...}
// Para campos de arquivos/imagens, podendo ser combinado com o Thumbor
{{$value->source}}
@endforeach
@endforeach
Grupos de componentização
Para carregar campos extras deve-se, a partir de uma instância da entidade Item, chamar a propriedade componentizations
. Essa propriedade contém todas as possibilidades de componentização do item em questão. Exemplo:
@foreach($item->componentizations as $componentization)
// Dados do grupo de componentização
{{$componentization->group->description}}
// Opções de componentização
@foreach($componentization->components as $component)
// Quantidade padrão do componente
{{$component->quantity}}
// Quantidade mínima possível do componente
{{$component->min_quantity}}
// Quantidade máxima possível do componente
{{$component->max_quantity}}
// Item componente (retorna uma nova instância da entidade Item que representa o componente relacionado)
{{$component->component}}
// Preço fixo do componente (geralmente definido se diferente do preço padrão do item componente)
{{$component->price->price}}
@endforeach
@endforeach
Comentários
0 comentário
Por favor, entre para comentar.