Documentação - função get_products_by_category_slug



  • Bom dia família,

    Estou precisando

    • Pegar um produto randômico de uma categoria específica
    • Pegar o produto com menor valor de uma categoria específica
    • Pegar todos os últimos 20 produtos

    Procurando aqui no fórum encontrei a função get_products_by_category_slug

    porém não encontro em nenhum lugar a documentação para esta função.

    • Alguém pode me dar uma luz de como usar essa função para buscar os produtos como preciso ?

    • Existe uma página com a documentação desta e outras funções ?



  • Olá Ronie boa tarde, sou novo aqui na comunidade também,mas encontrei essa documentação da api da Xtech, pode ser que te ajude em alguma coisa. abraços.
    https://docs.xtechcommerce.com/reference/introdução



  • Olá @ronniegchagas, vê se isso ajuda, é um código diferente, mas puxa as informações dos produtos:
    http://familia.xtechcommerce.com.br/topic/2499/produtos-exibidos-na-home-de-forma-randomica/2



  • Obrigado por responderem.
    Apesar de não existir uma função para atender minhas necessidades, consegui resolver de acordo com o post informado acima pelo @charles, agradeço pois me ajudou muito

    Segue abaixo o código final que montei para atender as necessidades informadas na abertura do tópico

    {% set randomProducts = [] %}
    {% set minByCategory = 99999 %}
    {% set last15Products = [] %}
    {% set i = 0 %}
    
    {% for product in products %}
      {% for cat in product.categories %}
    
        {# Listar ultimos 15 Produtos por ID #}
        {% if last15Products < 15 %}
          {% set last15Products = last15Products|merge([product.id]) %}
          {% set i = i + 1 %}
        {% endif %}
    
        {# Caputura menor valor de uma categiria #}
        {% if cat.slug == 'pisos-e-azulejos' and product.quantity > 0 %}
          {% if product.saleprice > 0 and product.saleprice < minByCategory %}
            {% set minByCategory = product.saleprice %}
          {% elseif product.price < minByCategory %}
            {% set minByCategory = product.price %}
          {% endif %}
        {% endif %}
    
        {# Caputura produto aleatório de uma categoria específica #}
        {% if cat.slug == 'hidraulica' and product.quantity > 0 %}
          {% set randomProducts = randomProducts|merge([product]) %}
        {% endif %}
    
      {% endfor %}
    {% endfor %}
    
    {% set randomProduct = randomProducts[random(randomProducts|length-1)] %}