Мой модуль не может подключиться к хуку

Добрый день! Работаю над расширением API. Чтобы получать JWT токены и дальше ими работать. Проблема в том что как бы я не старался подключиться к хукам в классе Api через мой модуль не обрабатывается. Сразу выдает 401. Пытался сделать проверку токена через хук:
api_get_user_data_pre. Тоже самое. Проверил в модуле storefront_rest_api там работает. Проверил кеш. И увидел что при первом сохранении кеш сохраняет Array

(
    [data] => Array
        (
            [0] => mve_plus
            [1] => storefront_rest_api
            [2] => graphql_api
            [3] => tech_support_chat
        )

    [expiry] => 0
)

Как сделать так чтобы мой модуль инициализировался на уровне этих модулей. Если что приоритет моего модуля выше этих модулей

@Nail.Gafin в чем может быть проблема?

Если приоритет выше, то ваш модуль обрабатывается позже. Попробуйте изменить приоритет на 0 или 1, чтобы ваш модуль первым обрабатывался в хуке, возможно какой-то из этих модулей делает что-то, что прерывает обработку хука?

Пробовал ставил 1 так же было.

При принте сверху хука нормально выводит. Как еще разделают выполнение хука?

ну он же у вас точно подключен (init.php, в названии функции ошибки нет)?

Нет там ошибки нет.
Попробовал подключить этот хук другому модулю так же было.

Если режим разработчика включить, может будут какие сообщения?
там есть

DeveloperException

в fn_set_hook

Пробовал)

:slight_smile:
тогда может из функции fn_set _hook распечатать

$callable_functions

в начале функции и перед return, но обязательно с условием

if ($hook_name == "api_get_user_data_pre") { ... }

в начале покажет, не считается ли ваша функция вызванной ранее, а в конце - вызывалась ли она в итоге

1 лайк

А вот это хорошая идея. Спасибо. Сейчас попробую

В обоих случаях возвращает пустое значение. Походу хук вообще не работает. Или работает не корректно

Сделал модуль unmanage сработало. Теперь модуль сам стал не видимым установил через консоль. Теперь вопрос как регистрировать модуль чтобы настройки брать в этом хуке.

В общем JWT реализовал. Но почему в документации не написали что хук api_get_user_data_pre работает в модуле только через unmanage? И вообще по моему это не правильно. Расширять не ломая код сложновато. Еще вопросы по правам доступа. У вас на монолите очень хорошо реализована система прав доступа, а вот для API все выглядит печально.

public function privilegesCustomer()
    {
        return array(
            'index' => true,
        );
    }

Разрабы можете ответить? Делать дополнения наследуя BaseAEntity и писать новые endpoint долго. Наверное и в Headless решении такая же фигня.) @cs-cart_team