Всем здравствуйте.
Пришло время мне разбираться в drupal, но не как просто юзер, а я еще хочу понять и механизм работы, то есть сам пхп код.
Здесь я буду выкладывать свои "тупые" вопросы, если вам не сложно, то ответьте или ткните где можно прочитать ответ на вопрос.
Первый вопрос такой:
Вот поставил я модуль autoassignrole. По функциональности простой как лапоть. При регистрации просто выставляем роль, назначенную в админке.
Открываю файл autoassignrole.module и смотрю что там есть.
Предназначение функций autoassignrole_menu и autoassignrole_settings интуитивно понятно.
Далее идет функция autoassignrole_user , которая собственно и назначает роль юзеру при регистрации.
Вопрос у меня такой. Как она работает? Я не вижу ни одного места где она вызывается.
Комментарии
А зачем оно надо?
Что-то не устраивает в работе этого модуля? Или просто для развития разобраться в принципе работы этого простого модуля?
Лучше потратить время на изучение таких основополагающих модулей как Views или CCK - и полезнее будет, и научиться многому можно.
Думаю, стоит почитать, что такое hooks.
Много вопросов сразу отпадет.
Надо оно для того, чтобы понять вообще как все работает. Потрачу время и на Views, и на CCK, но когда элементарная вещь непонятно, то не хочется лезть в дебри.
Если не сложно, подскажите где можно прочитать про hooks.
Нашел, читаю.... теперь действительно становится что-то понятно :).
Идея, я так понимаю, в том, что модули могут использовать только определенный набор функций, с помощью которых, движок и выполняет модуль... Читаю дальше...
Идея, я так понимаю, в том, что модули могут использовать только определенный набор функций
Немного не так. Друпал ищет в модуле определнные функции, для того чтобы найти ответы на ряд вопросов: по какому URL будет вызываться модуль, какие юзеры могут получить доступ к модулю и к его админке, как должна выглядить админка модуля итп, а уж функций в модуле может быть сколько угодно.
А что такое $teaser?
Вопрос такой.
В списке функций drupal я не нашел функции admin_settings_validate, однако в модуле upload есть функция upload_admin_settings_validate.
Как она используется, если нигде не видно ее вызова?
Или кроме hooks мне надо еще куда-то заглянуть по этому поводу?
Никто код не ковыряет?
Я ковыряю)
Переведенная вырезка из книги:
«Как Друпал узнает что нужно вызвать нашу функцию? Для этого мы назовем ее специальным образом, используя имя функции для определения формы (annotate_admin_settings) плюс _validate.»
Глянь в сторону функции _form_validate(), ~721 строка. Ну, а там уже, думаю, догадаешься посмотреть функцию form_execute_handlers().
ps: ...опять на дату не посмотрел.