For the complete documentation index, see llms.txt. This page is also available as Markdown.

Extending Weglot with events

Register dynamic-content selectors from your own plugin or module.

Unlike the WordPress plugin, the Craft plugin does not expose a system of filters. Its extension points are two Yii events that let you add CSS selectors to Weglot's dynamic-content configuration from your own plugin or module.

Event
Purpose

Plugin::EVENT_REGISTER_DYNAMICS_SELECTORS

Register selectors for regions translated dynamically.

Plugin::EVENT_REGISTER_WHITELIST_SELECTORS

Register selectors added to Weglot's whitelist.

Both events pass a RegisterSelectorsEvent whose selectors array you can add to. They are fired only when dynamic content is enabled in the plugin settings.

Example

Register a selector for a dynamically-rendered widget:

use yii\base\Event;
use weglot\craftweglot\Plugin;
use weglot\craftweglot\events\RegisterSelectorsEvent;

Event::on(
    Plugin::class,
    Plugin::EVENT_REGISTER_DYNAMICS_SELECTORS,
    static function (RegisterSelectorsEvent $event): void {
        $event->selectors[] = ['value' => '.my-dynamic-widget'];
    }
);

Place this in your plugin or module's init() method so it runs on every request.

Each selector is an array with a value key holding the CSS selector string. Add as many as you need to the $event->selectors array.