Внести изменения в модуль (drupal-way)

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

Аватар пользователя molp molp 31 января 2016 в 13:14

Здравствуйте.
При настройке сайта вносил небольшие изменения в чужой модуль.
Теперь хочу разобраться как делать это правильно, чтобы можно было спокойно делать обновления модулей.
Прошу объяснить схему хотя бы в общих чертах, так как конкретной информации по теме так и не смог найти.

Комментарии

Аватар пользователя molp molp 31 января 2016 в 14:12

Так и делаю и нельзя сказать что это сильно мешает, но насколько мне известно с точки зрения Drupal это неграмотно.
Хочется немного прокачаться )

Аватар пользователя molp molp 31 января 2016 в 23:17

Director cemetery wrote:

contrib и custom, две папки с модулями.


bumble wrote:

Drupal-Way - переопределять все необходимое из чужого модуля в своем (или в template.php).


Переопределять в своем - это просто изменять модуль, тут все понятно. А вот по поводу переопределения отдельных функций хуками в template.php хотелось бы подробнее. За правильные ссылки буду благодарен.

Аватар пользователя bumble bumble 31 января 2016 в 23:21

molp wrote:

Переопределять в своем - это просто изменять модуль

Нет. Это и есть "переопределения отдельных функций хуками в template.php".

molp wrote:

За правильные ссылки буду благодарен.

Для направления в "правильное русло" - сначала стоит детализировать вопрос.
Что конкретно нужно переделать? И во что?

Аватар пользователя molp molp 1 февраля 2016 в 0:51

bumble wrote:

molp написал:

Переопределять в своем - это просто изменять модуль

Нет. Это и есть "переопределения отдельных функций хуками в template.php".

molp написал:

За правильные ссылки буду благодарен.

Для направления в "правильное русло" - сначала стоит детализировать вопрос.

Что конкретно нужно переделать? И во что?


Я думал что template.php в основном для темизации, но если функции модулей в нем можно переопределить то это круто.

Уточняю. Есть модуль Lightshop и в данном модуле в файле lightshop.admin.inc мне нужно строку if ($data['widget']['type'] == 'number') { заменить на if ($data['widget']['type'] == 'number' || $data['widget']['type'] == 'computed') {
Данная строка находится в функции lightshop_admin_settings.

Аватар пользователя bumble bumble 2 февраля 2016 в 14:26

прием...

molp wrote:

Уточняю. Есть модуль  Lightshop и в данном модуле в файле lightshop.admin.inc мне нужно строку

Вряд ли кто-то будет ставить модуль и лезть в его код. А по строке кода - у Вас все и так сделано.
Описываете конкретную задачу - получайте советы по её воплощению.
Не особо надейтесь на готовый код решающий Вашу задачу.

Аватар пользователя molp molp 2 февраля 2016 в 20:01

bumble wrote:
Вряд ли кто-то будет ставить модуль и лезть в его код. А по строке кода - у Вас все и так сделано.
Описываете конкретную задачу - получайте советы по её воплощению.
Не особо надейтесь на готовый код решающий Вашу задачу.

Надеюсь не на готовый код, а на объяснение алгоритма действий, или ссылки на соответствующие статьи.