Как перехватить theme_somemodule_hook в своём созданном модуле без привязки к своей теме?

Главные вкладки

Аватар пользователя Yusuke Yusuke 15 июля 2010 в 17:06

При написании нового модуля "compare", работающего с модулем Ubercart(модуль интернет магазина) возникла следующая неразрешимая проблема:

- Theme Developer'ом была найдена и вычислена функция вывода продуктов на экран "theme_uc_catalog_product_grid()"
- В своём модуле "compare.module" я продублировал эту функцию, поменяв "theme_" в названии функции на "mytheme_" (тема под которой работаю)

Всё работает, но возникает вопрос:

- Как сделать модуль независимым от темы, чтобы модуль можно было б легко интегрировать в любую тему без правки кода модуля?

Питался менять имя функции на "compare_uc_catalog_product_grid()", но похоже, это неверное и неработающее решение

Комментарии

Аватар пользователя Yusuke Yusuke 15 июля 2010 в 18:00

спасибо.
Заработало.

А это единственное решение, или есть альтернатива названия функции (связанная с именем модуля)?
Меня смущает что в названии функции не присутствует имя модуля.

Аватар пользователя kosilko kosilko 15 июля 2010 в 18:59

"Yusuke" wrote:
А это единственное решение, или есть альтернатива названия функции (связанная с именем модуля)?

есть еще хук_theme_registry_alter(&$registry)
там можно все что угодно переопределять