O que são métodos

Os métodos do opencode são conjuntos de comandos já prontos que realizam determinado procedimento. Esses métodos têm como objetivo facilitar e estruturar o desenvolvimento.

A utilização de métodos possibilita consultar informações de Produtos, Marcas e Categorias, onde também disponibiliza utilidades como referenciar o caminho absoluto do tema além de exibir imagens e textos cadastrados no painel administrativo da Tray.

Manipulando métodos

Podemos manipular os métodos de diversas maneiras, como exibir seus atributos na tela, utilizar laços de repetição e fazer validações, tudo isso de acordo com a necessidade.

Alguns métodos como por exemplo Product(), Brands() e Categories() sempre retornarão um array (vetor) de dados, por isso para exibir determinada informação você deve passar seu índice dentro desse vetor ou utilizar um laço de repetição para exibir as informações. Já os métodos como Assets(), Image() e a Translation(), retornam apenas informações pontuais.

Desta forma, para exibir uma posição do vetor de products retornadas pelo método é necessario passar o indice do item no Array retornado, como ao lado.

Podemos também exibir todos os produtos ou todas as categorias utilizando uma estrutura de repetição (laço for)

Além disso podemos utilizar por exemplo o método Image() para exibir um botão adicional cadastrado no painel.

{% set products = Products() %}
{{ products[0].id}}
{{ Image('additional_button') }}
{% set products = Products({
   'order': {
       'quantity_sold': 'desc',
       'name': 'asc',
       'id': 'desc'
   }
}) %}
{% for product in products %}
   {{ product.name }}
{% endfor %}
{% set myCategories = Categories(
   { "order": { "name": "asc" }}) %}
<ul>
   {% for category in myCategories %}
   <li>{{ category.name }}</li>
   {% endfor %}
</ul>

Asset

O método asset() é utilizado para referenciar o caminho absoluto do tema, com ele é possível incluir arquivos ao tema como css,javascript e imagens.

Exemplos ao lado:

   <img src="{{ asset('img/my-image.png') }}" alt="">
   <script src="{{ asset('js/style.js') }}"></script>
   <link rel="stylesheet" href="{{ asset('css/style.css') }}">

Brands

O Método Brands() retorna as marcas cadastradas no Painel Administrativo da loja.

Disponível nas páginas: todas

Para saber mais sobre como gerenciar marcas acesse: Wiki - Gerenciar Marcas

As requisições de marcas sempre retornarão um array de dados onde cada chave está descrita abaixo:

Atributos Descrição
brands[0].id Identificador único da marca
brands[0].name Nome da marca
brands[0].slug Final da url da marca

Veja alguns exemplos de uso ao lado:

 {# todas as marcas #}
 <ul>
   {% set brands = Brands() %}
   {% for brand in brands %}
     <li>{{ brand.name }}</li>
   {% endfor %}
 </ul>
 
 {# busca a marca Tray #}
 <ul>
   {% set brandTray = Brands( { "brand": "Tray" } ) %}
   {% for brand in brandTray %}
     <li>{{ brand.name }}</li>
   {% endfor %}
 </ul>

 {# busca o id 10 #}
 <ul>
   {% set brands = Brands( { "id": "10" } ) %}
   {% for brand in brands %}
     <li>{{ brand.id }}</li>
   {% endfor %}
 </ul>
  
   {# todas as marcas ordenadas por ID decrescente #}
   <ul>
    {% set brands = Brands({ "order": { "id": "desc" }}) %}
    {% for brand in brands %}
     <li>
      <span>{{ brand.id }}</span>
      <span>{{ brand.name }}</span>
     </li>
    {% endfor %}
   </ul>
   

Categories

O método Categories() retorna as categorias cadastradas no Painel Administrativo da loja.

Disponível nas páginas: todas

Para saber mais sobre como gerenciar categorias acesse: Wiki - Gerenciar Categorias

As requisições de categorias sempre retornarão um array de dados, veja o padrão de retorno em: Categories

Veja alguns exemplos de uso ao lado:

{# todas as categorias #}
<ul>
 {% set categories = Categories() %}
 {% for categorie in categories %}
  <li>{{ categorie.name }}</li>
 {% endfor %}
</ul>
{# busca o id 2 #}
{% set categoryTray = Categories( { "id": 2 } ) %}
<span>{{ categoryTray.name }}</span>
{# todas as categorias ordenadas por nome ascendente #}
{% set myCategories = Categories({ 
    "order": { "name": "asc" }}) %}
<ul>
 {% for category in myCategories %}
  <li>{{ category.name }}</li>
 {% endfor %}
</ul>      

Image

O Método Image() retorna uma imagem cadastrada no Painel Administrativo.

Disponível nas páginas: todas

Para saber mais sobre como gerenciar imagnes acesse: Wiki - Imagens/Botões

As requisições de marcas sempre retornarão um array de dados onde cada chave está descrita abaixo:

Keys Descrição
additional_button Botão Adicional
unavailable_button Botão Indisponível
buy_together_button Botão Compre Junto
calculate_shipping_value Botão Calcular Frete
buy Botão Comprar
back_to_shopping Botão Continuar Comprando
discount_code Botão Cupom de Desconto
sign_up Botão Efetuar Login
featured Imagem de Destaque
send Imagem Enviar
select Selecionado
free_shipping Imagem Frete Grátis
new Imagem Novo
sign_in Botão Logar
logo Imagem de Logo
next_step_sign_up Botão Prosseguir Cadastro já Efetuado
next_step_purchase Botão Próxima Etapa
simulate_shipping Simular Frete
upon_request Sob Consulta
{{ Image('key') }}	
 {{ Image('additional_button') }}	

Products

O Método Products() retorna os produtos cadastrados na loja.

Disponível nas páginas: todas

Para saber mais sobre como gerenciar produtos acesse Wiki - Produtos

As requisições de produtos sempre retornarão um array de dados, veja o padrão de retorno em: Products

É possivel aplicar filtros a esse método para que ela retorne apenas os produtos desejados. Segue a baixo a relação de filtros disponiveis:

Filtro Parametro
filter O filtro filter pode receber os seguintes parametros: featured, new, free_shipping, available, promotion
limit Recebe um valor da qual será a quantidade maxima de produtos.
order O filtro order é usado para ordernar a lista de produtos, pode receber os seguintes parametros: id, name, price, price_offer, stock, rand
categories O filtro categories Recebe o id das categorias da qual deseja filtrar os produtos.
brands O filtro brands Recebe o nome da marca da qual deseja filtrar os produtos.

Veja alguns exemplos de uso ao lado:

 {# Trás todos os produtos #}
 {% set products = Products() %}

 
 {#  Trás 8 produtos em destaque ordenados pelos mais vendidos que estejam cadastrados nas categorias 1 e 2 e tenham como marca "Tray" #}
  {% set products = Products({
      'filter': 'featured',
      'limit': 8,
      'order': {'quantity_sold': 'desc'},
       'categories': [2, 3],
      'brands': 'Tray'
  }) %}
  
   {% set products = Products({
       'order': {
           'quantity_sold': 'desc',
           'name': 'asc',
           'id': 'desc'
       }
   }) %}
   

Translation

O método Translation() exibe um texto de acordo com o idioma configurado na sua loja no Painel Administrativo.

Disponível nas páginas: todas

Para saber mais sobre como gerenciar textos acesse:Wiki - Gerenciamento de Textos

{{ Translation('key') }}