[Решено] User Reference в поле CCK + email Как связать?

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

Аватар пользователя Tankha Tankha 17 мая 2009 в 21:05

Уперся в одну проблему - никак не могу решить.
Как бы сделать так чтобы при выборе юзера в User Reference в поле CCK ему автоматом отправлялся емайл? При создании материала и при изменении. Нашел модуль для работы с почтой, но он никак не связан с User Reference CCK.
Может есть что готовое? Подскажите плз.
Спасибо

Комментарии

Аватар пользователя talgar@drupal.org talgar@drupal.org 18 мая 2009 в 6:05

используйте модуль http://drupal.org/project/rules
В "Triggered rules" добавьте свое правило: при обновлении нода выполнить действие "Send a mail to a user". При этом можно самому настроить тему письма и его содержимое.

Аватар пользователя Tankha Tankha 18 мая 2009 в 22:54

Здорово!
У меня эти рулезы стояли но я пропустил их возможности (был невнимателен). Там еще оказывается можно выделить доступ выбранному юзеру - я об этом и не мечтал Smile
Правда отправить емайл я пока не нашел. Smile
Вообще это же натуральный макроязык! Очень полезный модуль.
Спасибо

Аватар пользователя talgar@drupal.org talgar@drupal.org 19 мая 2009 в 4:46

для выбранного пользователя в cck поле наделение его правами доступа делаю через отдельный модуль. С помощью него можно указать какие права получат добавленные пользователи: смотреть, править и/или удалить.

Скорее всего, с помощью стандартных действий по отправке письма через рулез не получится сделать, а вот через действие "выполнить php код" вполне возможно.

Аватар пользователя Tankha Tankha 20 мая 2009 в 0:58

У меня стоял включенный Content Access и он появился в списке доступных действий в Rules Smile

P.S.
Нашел кстати "Send a mail to a user".
Теперь надо это как следует всё проверить - насколько четко оно работает

Аватар пользователя Tankha Tankha 21 мая 2009 в 16:49

емайл отсылается только автору, хотя выбрал не автора а юзера. Доступ не меняется. Поставил модуль nodeaccess_userreference к счастью работает. При этом он настолько невероятно маленький что пожалуй будет проще всего сделать с него модуль-клон, только с другими функциями (отправка емайл). Сейчас буду его ковырять...

Аватар пользователя Tankha Tankha 22 мая 2009 в 0:06

Теперь вообще ничего не понимаю.
Добавил несколько модулей и что-то настроил, что-то включил. Теперь в списке действий ноды в рулезах появилось следующее: Send email to a user reference field.
Проверил - работает Smile
Осталось теперь понять - как? Smile

P.S.
Всё понял. Вот он волшебный модуль - http://drupal.org/project/fieldactions (Field Actions).
Он добавляет в Rules даже такое (в раздел акций для ноды): Send email to the author of the selected in the node reference field.
Я уже не говорю про такую мелочь как: Change node author based on a user reference field (мне это не надо но забавно). И еще кучу разных вещей.
Немного конечно обидно что не работает группа действий Content Access. Хотя может я просто что-то не то делал. Уже не вжно - установил модуль Node Access User Reference.
Спасибо за советы!!! Rules - рулез! Smile Кажется тема может быть закрытой - все вопросы по ней решены :). Осталось куча других, но это уже другая тема Smile

P.S.
Хм. Если выключить token, то приходят пустые письма без темы.

Аватар пользователя Tankha Tankha 22 мая 2009 в 11:37

То что мне надо было погонял - вроде стабильно. Только без токена пустые письма приходили.

P.S.
По поводу комментов еще.
Rules даже понимает когда отмеченный пользователь поля User Reference и автор контента совпадает и отсылает только одно письмо (хотя в правилах прописал две акции - отсылать пользователю на которого ссылка и автору) при появлении комментов к материалу.
Если автор и пользователь отмеченный по ссылке отличаются то отсылает два письма (согласно правилам), одно - автору, другое помеченному пользователю. Как это происходит - загадка.

Если письмо автору то использую Send email to the creator of the node, потому что там больше настроек (можно ссылки повтсавлять на сообщение указать тему и т.п.) - эта возможность появилась благодаря именно новому модулю.
Стандартная отсылка емайла намного слабее.