Para inserirmos um item, precisamos criar um data provider para o mesmo, com a identificação desejada (Ex: Carrega o(s) itens a partir do(s) ID(s) informado(s)), identificar o Alias (Ex: Item), criar um arquivo código fonte do mesmo e nomeá-lo (Ex: produto-item.blade.php).
No ERP podemos trabalhar na loja com produtos, serviços e etc de forma transparente, por esse motivo costumamos chamar de "itens" e não "produtos". Na exemplificação abaixo utilizamos o item como um produto, mas podendo também ser feita da mesma maneira para planos, serviços e etc, como citado anteriormente.
Será necessário também montar o código html e utilizar alguns atributos padrão, juntamente com os data providers criados para a dinamização de informações. Segue exemplo prático:
<div class="product-container">
<div class="box-product">
<a @if(null !== $item->urls->first())
href="{{url($item->urls->first()->url)}}"@endif))}}">
<figure
class="product-img"
style="background-image:url({{thumb($item->main_image->source, 245, 245)}})">
</figure>
</a>
<section class="product-info">
<h3 class="name">
<a @if(null !== $item->urls->first())
href="{{url($item->urls->first()->url)}}"@endif))}}">
{{$item->identification->first()->name}}
</a>
</h3>
<div class="box-price">
<h3 class="price-discount">
<span class="small"></span> R$ <span class="value">
{{number_format($item->prices->first()->price, 2, ',', '.')}}
</span>
@if($item->prices->first()->installments && $item->prices->first()->installments->count() > 0)
<h3 class="product-installment">
{{ $item->prices->first()->installments->last()->getQuantity() }}x de R$ {{ number_format($item->prices->first()->installments->last()->getPrice(), 2, ',', '.') }} sem juros
</h3>
@endif
</h3>
</div>
<div class="down-product">
@if ($item->inventory->first()->available_quantity > 0)
<div class="qtd-box">
<div class="add-qtd">
<span class="i-less">
<input type="button" value="-" id="subqnt">
</span>
<input type="text" name="quantity" value="1" class="qtd" data-quantidade="" maxlength="4">
<span class="i-plus">
<input type="button" value="+" id="addqnt">
</span>
</div>
</div>
<div class="product-stock">
<a href="{{checkout_cart_add_item_link($item)}}" class="product-cart-btn"
alt="Adicionar ao carrinho"
title="Adicionar ao carrinho"
quantity="1"
canopus-checkout-add-item-btn>
Comprar
</a>
</div>
@endif
</div>
</section>
</div>
</div>
O @if(null !== $item->urls->first()) serve para iniciar uma condição que verifica se o item tem uma url cadastrada. O @endif finaliza a condição.
A url($item->urls->first()->url serve para trazer a url cadastrada em cada item.
O thumb($item->main_image->source, 245, 245) serve para popular a url da imagem de cada id do item.
O {{$item->identification->first()->name}} serve para popular o nome de cada id do item.
O ($item->prices->first()->installments && $item->prices->first()->installments->count() > 0) dentro de uma condição, verifica se o item tem algum parcelamento cadastrado no sistema, e faz sua população na view.
O {{ $item->prices->first()->installments->last()->getQuantity() }} serve para popular a quantidade de parcelas cadastrada para um determinado item.
O {{ number_format($item->prices->first()->installments->last()->getPrice(), 2, ',', '.') }} serve para popular o cálculo do preço inteiro do item, dividido pelo número de parcelas, gerando assim o preço final parcelado.
O {{number_format($item->prices->first()->price, 2, ',', '.')}} serve para popular o valor de cada id do item, já formatando o seu preço para BRL.
O @if inicia uma condição e o @endif a finaliza.
O ($item->inventory->first()->available_quantity > 0) dentro de uma condição verifica se o item está disponível em estoque.
O {{checkout_cart_add_item_link($item)}} serve para popular a url de checkout e adicionar o item no carrinho.
O canopus-checkout-add-item-btn é um elemento do canopus, padrão da plataforma, que serve para identificar o botão como um botão de compra.
Comentários
0 comentário
Por favor, entre para comentar.