Pull the first text field form layout loop

I want to shorten the first text block in my layout, to use it as a teaser on the parent page.
I read this one, and it seems, that I am on a good way, but …

it looks like that, I am missing some steps on the way.

<?php foreach($page->children()->listed() as $subpage):?>
    $teaser = $subpage->layout()->toLayout()->filterBy('type', 'block_text')->first();?>
    <div class="teaser_element">
        <h3><?= $subpage->title()?></h3>

        <?php  $TextCount = array_slice( explode(" ", $teaser->text()->kt()), 0, 20);
             $TextShort = implode(" ", $TextCount) ?>
        <div id="ellips_container_short<?= $subpage->id()?>" class="brot_standard_steady text-container">
            <span> <?= $TextShort ?>...</span>
    <?php endforeach; ?>

The output is:
[{“attrs”:,“columns”:[{“blocks”:[{“content”:{“size”:“gro\u00df”,“text”:"My text the alignment along the main axis. It helps distribute extra free space leftover when either all the flex…

So it looks like i am stuck in the layout and can not go deeper.


This has the exact same output…

You have any clue?

You have to convert toBlocks() instead of toLayout()

AH f**k!
I started there in the beginning, and moved away from it because didn’t work due to other issues…
So easier than expected. Thanks a lot for the support that late in the day!