es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mostrar elemento basado en los valores de dos campos personalizados en el tema Cornerstone Stencil de BigCommerce.

Tengo un div que quiero mostrar en la página de detalles del producto cuando un producto determinado tiene dos campos personalizados que contienen un valor particular. Por ejemplo, cada producto en mi catálogo tiene los siguientes campos personalizados:

  • InventoryInStore (Existencias en tienda)
  • InventoryOnOrder (Existencias en pedido)

Quiero mostrar condicionalmente un elemento div cuando InventoryOnOrder del producto es > 0 Y InventoryInStore es = 0.
Cualquier ayuda sobre cómo hacer que algo similar al siguiente fragmento funcione sería muy apreciada.

{{#each custom_fields}}
    {{#if (toLowerCase name) '===' 'inventoryonorder'}}
        {{#if value '!=' 0}}
            {{#if (toLowerCase name) '===' 'inventoryinstore'}}
                {{#if value '===' 0}}
                    <div>elemento A</div>
                {{/if}}
            {{/if}}
        {{/if}}
    {{/if}}
{{/each}}

¡Gracias de antemano por ser más inteligente que yo 🙂 Saludos!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para mostrar condicionalmente un elemento div en una página de detalle de producto cuando el inventario en orden es mayor que 0 e Inventario en tienda es igual a 0, puedes usar el siguiente fragmento de código utilizando Handlebars.js:

    {{#if custom_fields}}
      {{#each custom_fields}}
        {{#if (toLowerCase name) '===' 'inventoryinstore'}}
          {{#if value '===' 0}}
            {{!-- Inventario en tienda es igual a 0 --}}
            {{#if (toLowerCase ../custom_fields.[@index-1].name) '===' 'inventoryonorder'}}
              {{#if ../custom_fields.[@index-1].value '>' 0}}
                {{!-- Inventario en orden es mayor que 0 --}}
                <div>Mostrar este elemento</div>
              {{/if}}
            {{/if}}
          {{/if}}
        {{/if}}
      {{/each}}
    {{/if}}
    

    Este código itera a través de cada campo personalizado en el producto y verifica si su nombre es ‘inventoryinstore’. Si es así, verifica si su valor es 0. Si es 0, luego verifica el nombre del campo personalizado anterior para ver si es ‘inventoryonorder’. Si es así, verifica si su valor es mayor que 0. Si es así, muestra el elemento div especificado.

Comments are closed.