plan2net / link-alchemy
Transforms URLs like domain.tld/services to TYPO3 links (t3://) if those are actually internal links to pages, files or folders, in link fields and rich text
Package info
github.com/plan2net/link-alchemy
Type:typo3-cms-extension
pkg:composer/plan2net/link-alchemy
Requires
- php: >=8.1
- typo3/cms-core: ^12.4 || ^13.4 || ^14
Requires (Dev)
- ergebnis/composer-normalize: ^2.48
- friendsofphp/php-cs-fixer: ^3
- slevomat/coding-standard: ^8
- squizlabs/php_codesniffer: ^3
- typo3/cms-backend: ^12.4 || ^13.4 || ^14
- typo3/cms-extbase: ^12.4 || ^13.4 || ^14
- typo3/cms-fluid-styled-content: ^12.4 || ^13.4 || ^14
- typo3/cms-frontend: ^12.4 || ^13.4 || ^14
- typo3/cms-install: ^12.4 || ^13.4 || ^14
- typo3/cms-rte-ckeditor: ^12.4 || ^13.4 || ^14
- typo3/testing-framework: *
- vimeo/psalm: ^5 || ^6
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-31 06:10:09 UTC
README
What does it do?
The link_alchemy extension transforms URLs like domain.tld/services to TYPO3 links (t3://page...,
t3://file..., t3://folder...) if those are actually internal links. It does this when a record is saved,
in TCA type=link fields and in rich text fields.
How it works
On every save, the extension sends each absolute link to the link resolver and keeps only the links it can turn into a page, file or folder.
Installation and configuration
To install the extension, use Composer:
composer require plan2net/link-alchemy
No configuration is required.
Compatibility
Versions 12.0.0 and higher are compatible with the corresponding TYPO3 versions.
Usage
Save a record. Links in link fields and in rich text that point to a page, file or folder of one of your sites
are rewritten, and the editor sees a message about each change. Target, class and title of a link field stay as
they are. Paths like /about in link fields are resolved against the site of the record.
Example
- Before:
<a href="https://example.com/internal-page">Link</a> - After:
<a href="t3://page?uid=123">Link</a>
Acknowledgements
This extension was inspired by Georg Ringers's uri2link extension that only
transforms TCA type=link fields.
