LogoLogo
Documentação de Temas
Documentação de Temas
  • 🚀COMECE POR AQUI
    • Temas Tray
    • Entenda o Tema
    • Meu primeiro tema
  • 💻Tray CLI
    • Instalação
    • Comandos
      • Erros Retornados
    • API para integrações Tray CLI
  • 🧱Construindo seu Template
    • Twig
      • O que é o Twig
      • Como ele é utilizado nos temas
      • Possibilidades de uso
      • Documentação para consulta
    • Visão Geral
      • Estrutura do Tema
      • Arquivo de configuração
      • Extensões de arquivos
      • Codificação de Arquivos
      • Avisos e Recomendações
      • Flags
    • Editor do Tema
      • Antigo
        • Como criar um Editor
        • Settings.html
      • Novo
        • Estrutura
          • Seções
          • Ícones
          • Componentes
            • Text
            • Textarea
            • Email
            • Number
            • Color
            • Checkbox
            • Radio
            • Select
            • Toggle
            • Upload
            • Tab
            • Alert
          • Exemplo de utilização
        • Thumb preview do tema
        • Imagens padrões
        • Como desabilitar e reabilitar?
      • Settings.json
    • Desenvolver
      • Atributo Google Analytics 4
      • Como adicionar o botão comprar na listagem dos produtos
      • Como criar um carrossel de produtos
      • Como inserir um vídeo na home da loja
      • Como manipular as variações de produtos
      • Como saber se o usuário está logado
      • Descontinuação do carrinho.php
      • Exibindo as formas de pagamento de um produto
      • Informação de preço com tempo de cache menor
      • Order Bump - Produtos Relacionados
      • Páginas Institucionais
      • Página de recuperação de senha
      • Página Live Shop
      • Recursos extras
      • Personalização das paginas de carrinho e checkout
    • Core Web Vitals
      • Desempenho
        • Lazyload
        • Primeira dobra
        • Fontes
        • Definição largura e altura
        • Sprite formas de pagamentos
      • Boas Práticas
        • Origem cruzada
      • Acessibilidade
        • Atributo Lang
        • Nome discernível
        • Atributo ALT
        • Contraste
        • IDs únicos
        • ARIA Labelled By
        • Tabindex
    • Otimizar e Medir
      • Carregamento na home
      • Layout AMP
      • Utilizando PWA na loja
    • Referências
      • Objetos
        • banner
        • breadcrumb
        • category
        • categories
        • filters
        • filter_options
        • links
        • pages
        • paginate
        • paymentMethods
        • product
        • productTabs
        • products
        • productFeatured
        • seals
        • search
        • settings
        • store
        • tags
        • tray
        • themePath
        • utils
      • Funções
        • asset()
        • Brands()
        • Categories()
        • Image()
        • Products()
        • Translation()
      • Data Attributes
        • Banners
        • Cart
        • Compare
        • Filter
        • Logged User
        • Search (Suggestion)
      • Componentes
        • Adicionar ao carrinho sem sair da página
        • Banner Desconto Progressivo
        • Banner extra com contagem de cliques
        • Banner Régua
        • Banner Rotativo
        • Botão "Voltar para o topo"
        • Botões Quantidade
        • Carrinho Lateral
        • Exibir a segunda imagem ao passar o mouse
        • Filtro Inteligente
        • Link flutuante para Whatsapp
        • Menu de Categorias
        • Menu de Categorias em 3 Níveis
        • Menu de Categorias com ver mais categorias
        • Menu de Categorias com Imagens
        • Menu de Categorias com Imagens - Hover
        • Menu de Categorias com produto
        • Menu de Marcas
        • Modal de Ofertas
        • Notícias com imagem na home
        • Novo Filtro Inteligente
        • Paginação
        • Porcentagem Desconto
        • Popup de Newsletter
        • Star Ranking
        • Selos da Loja
        • Selos do produto
        • Showcase ( List / Grid )
        • Topo Flutuante
        • Tray Login
        • Whatsapp flutuante
    • APIs Disponíveis
      • Busca
      • Carrinho de Compra
      • Categorias
      • Produtos
      • Variações de Produto
  • ✔️Homologação
    • Loja de Temas Tray
    • Requerimentos
      • Exclusividade
      • Identidade única
      • Estrutura necessária
      • Funcionalidades
      • Nova Busca e Filtro inteligente
      • Selos de produtos
      • Google Lighthouse
      • Consistência e funcionalidade
      • Compatibilidade com navegadores
      • Assets
      • Otimização para buscadores (SEO)
      • Acessibilidade
      • Configurações
      • Sistema de cores
      • Imagens responsivas
      • Nomes dos temas
      • Versionamento e notas de lançamento
      • Lojas demonstrativas
      • Documentação e suporte
    • Checklist obrigatório
    • Templates
    • Homologando o tema
    • Atualizando o tema
    • FAQ
  • 📣NOVIDADES
    • Tray CLI
    • Checklist
    • Tema Draft
    • Novo Editor
Powered by GitBook
On this page

Was this helpful?

  1. Construindo seu Template
  2. Desenvolver

Exibindo as formas de pagamento de um produto

Esse artigo tem como objetivo demonstrar como exibir informações de pagamento de um produto, para isso há diversas formas e cabe ao desenvolvedor escolher qual melhor atende a suas necessidades:

  1. {{ product.payment }}

    Essa chamada tem como principio exibir um bloco pronto com as formas de pagamentos configuradas na loja, para edita-lo é possível utilizando apenas 'css' e 'js'.

  2. {{ product.payment_option_details }}

    Assim como o product.payment esse índice retorna as informações de pagamento do produto, só que de uma forma mais detalhada, ele trás os elementos de forma separada, o que possibilita ao desenvolvedor realizar a implementação utilizando apenas as informações que precisa. Esse índice é trazido também nas variações do produto, dessa forma é possível obter as formas de pagamento de cada variação.

    Exemplo de retorno do índice

[payment_option_details] => Array
        (
            [0] => Array
                (
                    [display_name] => Boleto - TrayCheckout
                    [plots] => 1
                    [value] => 45.00
                )

            [1] => Array
                (
                    [display_name] => Cartão Amex - TrayCheckout
                    [plots] => 5
                    [value] => 10.60
                )
        )

Exemplo de implementação

{% for payment in product.payment_option_details %}
  {% if payment.plots == 1 %}
  <h2 clas="PrecoPrincipal" >{{ settings.currency }} {{ payment.value }}</h2>
    <span> à vista no {{ payment.display_name }}</span>
  {% else %}
    {% if payment|length > 1 %}
     <br><span> ou </span>
    {% endif %}
    em <span>{{ payment.plots }} vezes de {{ settings.currency }} {{ payment.value }}
    no {{ payment.display_name }}</span>
  {% endif %}
{% endfor %}

  1. API de Produto

    É possível também exibir as formas de pagamento utilizando a API de Produto como mostra o exemplo abaixo:

    Exemplo

    Crie um arquivo dentro da pasta elements/snippets como o conteúdo abaixo:

<script>
  $(document).ready(function(){
    var productId = {{ product.id }}
    $.ajax({
      method: "GET",
      url: "/web_api/products/"+productId
    }).done(function( response, textStatus, jqXHR ) {
      var payment = response.Product.payment_option_details
      var avista, ou, prazo;
      $( payment ).each(function( index ) {
        console.log(this);
        if(this.plots ==1){
          avista = `
            <h2 clas="PrecoPrincipal" > R$ ${this.value}</h2>
            <span> à vista no ${ this.display_name }</span>`;
        }else{
          if(index > 1)
            ou = `<br><span> ou </span>`;
         prazo = `
          em <span>${ this.plots } vezes de R$ ${ this.value }
          no ${ this.display_name }</span>`;
        }
        $(".product-price"+productId).append(avista, ou ,prazo);
      });
    }).fail(function( jqXHR, status, errorThrown ){
      var response = $.parseJSON( jqXHR.responseText );
    });
   });
</script>

Faça a chamada abaixo onde deseja exibir as formas de pagamento:

<div class="product-payment">
  <div class="product-price{{ product.id }}">
  </div>
  {% element 'snippets/payment' {
      "product": product
  } %}
</div>

Lembre-se de configurar o modo de demonstração do preço do produto em sua loja. Para isso acesse Configurações > Produto > Geral > Preço e escolha as opções desejadas.

PreviousDescontinuação do carrinho.phpNextInformação de preço com tempo de cache menor

Last updated 2 years ago

Was this helpful?

🧱