I'm in the context of an Entry that has a Matrix field, and one of those Matrix fields is a Dropdown called subsection. I want to grab all Matrix blocks that have subsection set to 'intro'.

This is how I'm trying to do it and it definitely doesn't work. Is there another way to accomplish this?

{% for block in entry.myMatrix.subsection('intro') %}
{% endfor %}

1 Answer 1


How about:

{% for block in entry.myMatrix if block.subsection == 'intro' %}
{% endfor %}
  • This displays an error for me: "Internal Server Error Craft\MatrixBlockModel and its behaviors do not have a method or closure named "subsection"."
    – cmal
    Commented Jul 12, 2014 at 16:55
  • Can you post a screenshot of your Matrix field? I just want to make sure I'm visualizing it correctly. Commented Jul 12, 2014 at 17:19
  • Tyler: Here is a screenshot. I made some of the names more generic than my actual case (obviously I don't call my Matrixes "myMatrix"!) but the scenario is still the same. More realistic code based on this screenshot would be {% for block in entry.approachBlurb if block.subsection('team') %}
    – cmal
    Commented Jul 12, 2014 at 17:45
  • I replicated your setup and tested against block.subsection == 'research'. I updated my answer with a functioning conditional :) Let me know if this still doesn't work for you. Commented Jul 12, 2014 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.