Добрый день,
Столкнулся с такой проблемою, делаю action сменить автора материала на другого,
вещаю на событие удаление пользователя. Удаляю пользователя, смотрю на результат
автор материала - гость. Action не сработал захожу в журнал операции на сайте
написано пользоваель был сменен на другого указан логин этого другого, а по факту это не
произошло при этом ни каких ошибок не выдается.
где грабли ? или где посмотреть где грабли, куда копать ?
Комментарии
Скорее всего, рыть надо файл workflow.module
Отловите баг, сделайте фикс, залейте патч на drupal.org. Я вполне серъезно, здесь нет ничего тяжелого, а всем поможете. Если сделаете и будут вопросы, как сделать патч, я смогу объяснить.
Вот вам, как пример для подражания - http://drupal.org/node/349316
у меня нет workflow.module Action не указывал его как зависимый я и не ставил
Приятно когда обо мне такого высокого мнения напишите патч Я бы и написал, но к сожалению у меня не хватает знаний чтобы найти в каком месте ошибка и чем ее ловить
вопрос №1 как и чем ловить? можно направить в сторону мануала
Ой, я сказал workflow? Я имел в виду совсем другое, видимо больше спать надо. Нам надо найти реализацию экшена смены автора и отдебажить ее. Все екшены определяются внутри соответствующих модулей. Данный экшен — это экшен модуля node. Ищем там реализацию hook_action_info и в нем информацию как называется функция нашего экшена. Найдя, идем к ней и пытаемся понять что именно глючит.
Как узнать что именно глючит? Выставляем прямо в коде функции
drupal_set_message(print_r($your_variable, 1))
, что будет выводить переменную $your_variable каждый раз, когда код будет проходить в данном месте. Проверяем, все ли приходит в функцию, и все ли уходит из нее правильно.Как определить что правильно, что нет? Делаем аналогичный экшен, который работает, и смотрим на его вход/выход.
Если проблема не проявилась на этом шаге, идем дальше по цепочке выполнения. Как только вызвана функция хука, она передает значения.
Забегая вперед, я скажу, что если вы разберетесь с проблемой, то поймете как работают тригеры, экшены и хуки в друпале. Перед тем как написать этот комент я тоже рылся в коде и смотрел что к чему, я вроде бы нашел где зарыта собака, но попробуйте для начала решить проблему своими силами, думаю это только вам наруку, Яков.