Можно ли использовать правила для установки изображений профиля пользователя?


Я хотел бы использовать действие модуля правил Установить значение данных для установки изображения профиля пользователя всякий раз, когда этот пользователь загружает изображение созданного мной типа контента "изображение".

Однако изображение профиля пользователя не отображается в качестве опции в селекторе данных для сайт: текущий пользователь. Есть ли другой способ установить изображение профиля пользователя с помощью правил или мне не повезло?

 4
Author: Patrick Kenny, 2012-03-24

3 answers

Создайте компонент в правиле с помощью этого! На компоненте у вас есть 2 параметра. Один для пользователя, а другой для файла, который вы хотите использовать! Я использую Drupal 7.

$uid = $user->uid;
$account = user_load($uid);
$thefile = file_load($file->fid);

$edit['picture'] = $thefile;
user_save($account, $edit);

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

Я использую эту ссылку, чтобы создать правило. http://taggartjensen.com/code-snip/drupal-7-set-user-picture-programmatically

Удачи!

 3
Author: sw3b, 2013-11-29 15:58:07

Другим решением является использование модуля Поле изображения пользователя . Этот модуль позволяет добавлять поле изображения пользователю и отображать его в форме регистрации пользователя, после того как пользователь зарегистрирует учетную запись, этот модуль будет использовать fid, загружаемый полем изображения, в качестве fid изображения пользователя.

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

Это новое поле, которое заменяет поле по умолчанию, затем отображается в большинстве списков выбора данных, которые включают узлы.

Простота в использовании, не требует программирования.

 2
Author: user14666, 2016-04-17 15:09:17

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

 1
Author: ropic, 2012-05-09 01:01:08