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.

Timber + ACF: ¿Cómo hacer que get_row_index() funcione?

Problema: Necesitaría obtener el índice de diseño actual desde el campo de contenido flexible. ACF ya tiene funcionalidad incorporada para esto: https://www.advancedcustomfields.com/resources/get-row-index/

Plantilla de Timber:

{% extends "base.twig" %}

{% block content %}

    {% for flex_content in post.meta('flex_components&##39;) %}
        {{ get_row_index() }} <!-- Aquí estoy atascado -->
        {% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
    {% endfor %}

{% endblock %}

Mi solución actual: Utilizo un contador simple, pero me gustaría aprender a hacerlo funcionar con la función get-row-index() (si es posible).

{% extends "base.twig" %}

{% block content %}

    {% set my_counter = 1 %}
    {% for flex_content in post.meta('flex_components') %}
        {% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
        {% set my_counter = my_counter + 1 %}
    {% endfor %}

{% endblock %}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el índice de diseño actual de un campo de contenido flexible utilizando la funcionalidad incorporada de ACF, puedes utilizar la función get_row_index() en tu plantilla Timber. Aquí tienes un ejemplo de cómo puedes implementarlo:

    {% extends "base.twig" %}
    
    {% block content %}
    
      {% for flex_content in post.meta('flex_components') %}
        {{ get_row_index() }} <!-- Esto mostrará el índice de diseño actual -->
        {% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
      {% endfor %}
    
    {% endblock %}
    

    Si prefieres utilizar un contador para hacer un seguimiento del índice, como en tu solución actual, aún puedes hacerlo. Sin embargo, vale la pena señalar que la función get_row_index() puede simplificar tu código y hacerlo más conciso.

Comments are closed.