CMS Development

Greg_Batenburg
参加者

How to output 2nd indexed item in a list?

解決

 

I want to output the 2nd item in a list.  For example, I'd like to output "oranges" from my list below, but this is not printing anything at all:

 

{% set items= ['apples, 'oranges', 'bananas', 'pears'] %}

{% for item in items %}
  {% if loop.index == 2 %}
     {% set output = item %}
{{ output|pprint }} {% endif %} {% endfor %}

Any ideas what the best way is to do this?

 

0 いいね!
1件の承認済みベストアンサー
Gonzalo
解決策
トップ投稿者 | Diamond Partner
トップ投稿者 | Diamond Partner

How to output 2nd indexed item in a list?

解決

Hey @Greg_Batenburg

 

You have a missing quote to close the first word apples.
Fixed code:

{% set items= ['apples', 'oranges', 'bananas', 'pears'] %}

{% for item in items %}
  {% if loop.index == 2 %}
     {% set output = item %}
     {{ output|pprint }}
  {% endif %}
{% endfor %}

Also, to print just the value you don't need the |pprint filter. Its used to print a whole array and the type of the function and things like that while debuggin. In this case the |pprint filter will print:
(String: oranges)

instead only:
orange

 

Regards,

Gonzalo

If this answer helps you to solve your questions please mark it as a solution.

Thank you,


Gonzalo Torreras

HubSpot freelance developer

hola@gonzalotorreras.com
www.gonzalotorreras.com
Schedule a meeting

元の投稿で解決策を見る

0 いいね!
3件の返信
Gonzalo
解決策
トップ投稿者 | Diamond Partner
トップ投稿者 | Diamond Partner

How to output 2nd indexed item in a list?

解決

Hey @Greg_Batenburg

 

You have a missing quote to close the first word apples.
Fixed code:

{% set items= ['apples', 'oranges', 'bananas', 'pears'] %}

{% for item in items %}
  {% if loop.index == 2 %}
     {% set output = item %}
     {{ output|pprint }}
  {% endif %}
{% endfor %}

Also, to print just the value you don't need the |pprint filter. Its used to print a whole array and the type of the function and things like that while debuggin. In this case the |pprint filter will print:
(String: oranges)

instead only:
orange

 

Regards,

Gonzalo

If this answer helps you to solve your questions please mark it as a solution.

Thank you,


Gonzalo Torreras

HubSpot freelance developer

hola@gonzalotorreras.com
www.gonzalotorreras.com
Schedule a meeting
0 いいね!
Greg_Batenburg
参加者

How to output 2nd indexed item in a list?

解決

Thanks!  I also learned my lesson that I am not allowed to pass variables out of the for loop in HUBL.

 

 

0 いいね!
Gonzalo
トップ投稿者 | Diamond Partner
トップ投稿者 | Diamond Partner

How to output 2nd indexed item in a list?

解決

Right!

If you need to "extract" a value from a for the only way to manage is working on the last iteration, so you can do something like:

{% for item in items %}
{% if loop.last %} {# Do your stuff here #} {% endif %} {% endfor %}

 

If this answer helps you to solve your questions please mark it as a solution.

Thank you,


Gonzalo Torreras

HubSpot freelance developer

hola@gonzalotorreras.com
www.gonzalotorreras.com
Schedule a meeting
0 いいね!