---
title: "Signals"
manual: "Apache Solr for TYPO3"
version: "11.2"
source: "Development/Signals.rst"
modified: "2026-09-16T15:10:57+00:00"
---

# Signals

Signals are currently only used in the search controller. Every action emits a signal which can be used to change its variables assigned to the view.

## Example

As an example, the action `resultsAction` of the `Classes/Controller/SearchController` is used.

```php
$values = [
	'hasSearched' => $this->searchService->getHasSearched(),
	'additionalFilters' => $this->searchService->getAdditionalFilters(),
	'resultSet' => $searchResultSet,
	'pluginNamespace' => $this->typoScriptConfiguration->getSearchPluginNamespace()
];

$values = $this->emitActionSignal(__CLASS__, __FUNCTION__, [$values]);
```

To fulfill that signal, you can create a slot in your custom extension. All what it needs is an entry in your `ext_localconf.php` file:

```php
/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);
$signalSlotDispatcher->connect(
    \ApacheSolrForTypo3\Solr\Controller\SearchController::class,
    'resultsAction',
    \YourVendor\yourextkey\Slot\SearchControllerSlot::class, // fully your choice
    'resultsActionSlot', // fully your choice
);
```

An example call look like this:

```php
/**
 * @param array $values
 */
public function resultsActionSlot($values) {
	$values['foo'] = 'bar'

	return [$values];
}
```

Notice: The values array needs to be returned as an single element of an array, because a slot method has to return the same number of arguments like it received.
