You are viewing beta documentation for Hyper 3.x.
View the latest stable version (2.x) →
Developers
Events
Hyper provides a collection of events for extending its functionality. Modules and plugins can register event listeners, typically in their init() methods, to modify Hyper’s behavior.
Migration Events
The event that is triggered during a migration, when trying to convert the respective plugin's content model to Hyper's content model. Specifically, when trying to convert one type to another.
Register on both the field and content migration classes for a source (and on Typed Link’s legacy step when needed).
use verbb\hyper\events\ModifyMigrationLinkEvent;
use verbb\hyper\migrations\MigrateCraftLinkContent;
use verbb\hyper\migrations\MigrateCraftLinkField;
use verbb\hyper\migrations\MigrateLinkitContent;
use verbb\hyper\migrations\MigrateLinkitField;
use verbb\hyper\migrations\MigrateTypedLinkContent;
use verbb\hyper\migrations\MigrateTypedLinkField;
use verbb\hyper\links\Url;
use yii\base\Event;
// Linkit
Event::on(MigrateLinkitContent::class, MigrateLinkitContent::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
// …
});
Event::on(MigrateLinkitField::class, MigrateLinkitField::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
// …
});
// Typed Link — custom type handles
Event::on(MigrateTypedLinkField::class, MigrateTypedLinkField::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
if ($event->oldClass === 'my-custom-type') {
$event->newClass = Url::class;
}
});
Event::on(MigrateTypedLinkContent::class, MigrateTypedLinkContent::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
if ($event->oldClass === 'my-custom-type') {
$event->newClass = Url::class;
}
});
// Craft native Link — type IDs are strings like `entry`, `url`
Event::on(MigrateCraftLinkField::class, MigrateCraftLinkField::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
// …
});
Event::on(MigrateCraftLinkContent::class, MigrateCraftLinkContent::EVENT_MODIFY_LINK_TYPE, function(ModifyMigrationLinkEvent $event) {
// …
});
Last updated: July 22, 2026, 11:43:54 AM