Вы здесь

Какая есть кешируемая алтернатива хука hook_element_info_alter?

0

Добрый день. Понадобилось добавить новый обработчик существующим элементам в '#process', каким именно вполне можно решить например исходя из их типа(возможно позже еще из чего-нибудь постоянного), а как должен выполнятся обработчик или должен быть завершен сразу уже непосредственно в нем.

Выяснилось, что hook_element_info_alter(&$types) выполняется каждый раз когда на странице есть форма, т.е результаты не кешируются, а элементы в нем прогоняются всех типов($types), даже те которых нет на странице, например password и password_confirm точно нет. Как избавиться от такой избыточности?

Версия Drupal: 
7.x
Категория: 
Form API
Вопрос задан 20.01.2017 - 10:44

Никак не избавиться. Какая конкретно у вас проблема?

Комментарий оставлен 20.01.2017 - 12:48

Проблема - сделать правильно. Не довести проект до такого состояния чтобы страницы открывались по пять минут. Вскоре по всей видимости в другом модуле тоже надо будет добавить такой обработчик, но для другой прикладной задачи. Значит будет уже двойной "прогон".

Комментарий оставлен 20.01.2017 - 13:31

Что такого вы делаете с массивом в несколько десятков элементов, что это занимает 5 минут?
"сделать правильно" - что сделать то?

Комментарий оставлен 20.01.2017 - 14:09

Сделать правильно в моем случае - это взять статическую итоговую конфигурацию для элементов. динамическая не нужна. ну нельзя так нельзя. не предусмотрели.

Комментарий оставлен 20.01.2017 - 14:36

Ответы