Уже не первый раз сталкиваюсь с тем, что некоторые ивенты приводят к бесконечной рекурсии. Например в хуке frontend_products нельзя вызывать корзину т.к. внутри корзины снова исполняется frontend_products. Корзина может понадобиться например для подсчета скидки.
Неплохо было бы, если бы в конструктор классов можно было бы передать некий параметр, который бы предотвращал исполнение ивентов внутри.
Так же стоит добавить в документацию хуков добавить информацию о том, вызов каких классов может привести к рекурсии. Такое поведение совершенно не очевидно и сложно разобраться что к чему.
0 комментариев