Update: Now I know the cause of my problem, I have appended to the original question title to try and help other people stumbling across the same issue.
I have a pending support ticket open with P&T on this, but just wondering if anyone else has had a similar experience and might be able to point me in the right direction.
I have a development site running happily on Craft 2.6.3013. As a first foray into Craft 3 I thought I would upgrade it to Craft 3 in a dedicated folder and DB of my local setup.
All seemed to go fine. I worked through and eliminated deprecation errors in my 2 well developed templates.
But one of the templates utilises a Matrix field with 2 block types -- subsection
and item
-- and only subsection
rows are publishing.
The 20 rows originally in the field (in its singles entry) are all there in the back end, and their respective types show up as they should there: 5 for subsection
and 15 for item
.
But a simplified front end loop of:
<ul>
{% for row in entry.timeline.all() %}
<li>{{ row.type }}</li>
{% endfor %}
</ul>
…only produces the following outcome:
<ul>
<li>subsection</li>
<li>subsection</li>
<li>subsection</li>
<li>subsection</li>
<li>subsection</li>
</ul>
array(5) { [n]=> … { … } }
. ~87k characters in total. I'm not sure what I should be seeing but it's internal structure looks a bit questionable. There is lots of nested"_nextElement"
and various instances of*RECURSION*
.dump
to my Craft 2.6 instance, which I still have, I can see*RECURSION*
in there too, so I guess that is not a cause for concern. Crucially though, the array is 20 items as I would expect.