Skip to content

Enhance BeforeSaveDocumentEvent with type and uid - #25

Merged
lochmueller merged 1 commit into
lochmueller:mainfrom
brotkrueml:enhance-beforesavedocumentevent
Oct 15, 2026
Merged

lochmueller merged 1 commit into
lochmueller:mainfrom
brotkrueml:enhance-beforesavedocumentevent

Conversation

@brotkrueml

Copy link
Copy Markdown
Contributor

No description provided.

@brotkrueml
brotkrueml marked this pull request as draft October 15, 2026 12:44
@brotkrueml

brotkrueml commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

As suggested in Slack: https://typo3.slack.com/archives/C0C2C2J720J/p1792054478330529

Example for usage to add a preview image for a page depending on a hero content element:

public function __invoke(BeforeSaveDocumentEvent $event): void
{
    if ($event->indexType !== IndexType::Page) {
        return;
    }
    if ($event->uid <= 0) {
        return;
    }

    $heroContent = $this->heroContentRepository->findByPid($event->uid);
    if (!is_array($heroContent)) {
        return;
    }

    $record = $this->recordFactory->createResolvedRecordFromDatabaseRow('tt_content', $heroContent);

    if (count($record->get('image')) === 0) {
        return;
    }

    $event->document['preview'] = $event->site->getBase() . $this->imageScaler->scale($record->get('image')[0], 200);
}

@lochmueller
lochmueller marked this pull request as ready for review October 15, 2026 17:12
@lochmueller

Copy link
Copy Markdown
Owner

hey @brotkrueml
Looks good for me. Merged.

Perhaps the Enum is better places in the Index extension to handle the different types. But we can move this later, if we need it in EXT:index.

Regards,
Tim

@lochmueller
lochmueller merged commit 7948bcd into lochmueller:main Oct 15, 2026
6 checks passed
@brotkrueml
brotkrueml deleted the enhance-beforesavedocumentevent branch October 16, 2026 07:13
@brotkrueml

Copy link
Copy Markdown
Contributor Author

Thank you for the quick review :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants