Новичок - глупые вопросы.

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

Аватар пользователя IGonza IGonza 3 мая 2007 в 19:04

Всем здравствуйте.
Пришло время мне разбираться в drupal, но не как просто юзер, а я еще хочу понять и механизм работы, то есть сам пхп код.
Здесь я буду выкладывать свои "тупые" вопросы, если вам не сложно, то ответьте или ткните где можно прочитать ответ на вопрос.

Первый вопрос такой:
Вот поставил я модуль autoassignrole. По функциональности простой как лапоть. При регистрации просто выставляем роль, назначенную в админке.
Открываю файл autoassignrole.module и смотрю что там есть.
Предназначение функций autoassignrole_menu и autoassignrole_settings интуитивно понятно.
Далее идет функция autoassignrole_user , которая собственно и назначает роль юзеру при регистрации.
Вопрос у меня такой. Как она работает? Я не вижу ни одного места где она вызывается.

Комментарии

Аватар пользователя chup chup 3 мая 2007 в 20:07

А зачем оно надо? Smile Что-то не устраивает в работе этого модуля? Или просто для развития разобраться в принципе работы этого простого модуля?
Лучше потратить время на изучение таких основополагающих модулей как Views или CCK - и полезнее будет, и научиться многому можно.

Аватар пользователя IGonza IGonza 3 мая 2007 в 20:21

Надо оно для того, чтобы понять вообще как все работает. Потрачу время и на Views, и на CCK, но когда элементарная вещь непонятно, то не хочется лезть в дебри.
Если не сложно, подскажите где можно прочитать про hooks.

Аватар пользователя IGonza IGonza 3 мая 2007 в 20:39

Нашел, читаю.... теперь действительно становится что-то понятно :).
Идея, я так понимаю, в том, что модули могут использовать только определенный набор функций, с помощью которых, движок и выполняет модуль... Читаю дальше...

Аватар пользователя Ромка Ромка 3 мая 2007 в 21:34

Идея, я так понимаю, в том, что модули могут использовать только определенный набор функций

Немного не так. Друпал ищет в модуле определнные функции, для того чтобы найти ответы на ряд вопросов: по какому URL будет вызываться модуль, какие юзеры могут получить доступ к модулю и к его админке, как должна выглядить админка модуля итп, а уж функций в модуле может быть сколько угодно.

Аватар пользователя IGonza IGonza 4 мая 2007 в 21:59

Вопрос такой.
В списке функций drupal я не нашел функции admin_settings_validate, однако в модуле upload есть функция upload_admin_settings_validate.
Как она используется, если нигде не видно ее вызова?
Или кроме hooks мне надо еще куда-то заглянуть по этому поводу?

Аватар пользователя movEAX movEAX 4 января 2010 в 9:31

Я ковыряю)
Переведенная вырезка из книги:
«Как Друпал узнает что нужно вызвать нашу функцию? Для этого мы назовем ее специальным образом, используя имя функции для определения формы (annotate_admin_settings) плюс _validate.»

Глянь в сторону функции _form_validate(), ~721 строка. Ну, а там уже, думаю, догадаешься посмотреть функцию form_execute_handlers().

ps: ...опять на дату не посмотрел.