Допустим мы решили вставить блок поиска в другой хук, раньше мы вносили изменения в файлы ядра модуля, т.е. /modules/blocksearch/blocksearch.php - соответсвенно если наш модуль обновлялся, то все изменения сделанные в нем терялись и он отваливался от добавленного нами хука. Теперь же функция override так же доступна и для модулей.
Создаем новый файл blocksearch.php в папке override, путь получится такой /override/modules/blocksearch/blocksearch.php
Обязательная структура (обертка для вашего кода)
<?php
if (!defined('_CAN_LOAD_FILES_'))
    exit;
class BlockSearchOverride extends BlockSearch
{

}
Регистрация нового хука displayTopSearch
public function install()
    {
        if (!parent::install() || !$this->registerHook('displayTopSearch') )
            return false;
        return true;
    }
Повторение параметров вывода как у хука Top
 public function hookDisplayTopSearch($params)
    {
        return $this->hookTop($params);
    }
Весь код будет выглядеть так
<?php
if (!defined('_CAN_LOAD_FILES_'))
    exit;
class BlockSearchOverride extends BlockSearch
{
    public function install()
    {
        if (!parent::install() || !$this->registerHook('displayTopSearch') )
            return false;
        return true;
    }

    public function hookDisplayTopSearch($params)
    {
        return $this->hookTop($params);
    }
}
Забавно, несмотря на то что это одно из самых ожидаемых нововведений, разработчики до сих пор не включили это в документацию.