Доработать Private messages

Аватар пользователя portfolio portfolio 28 января 2018 в 18:58

Приветствую!

На сайте с Drupal 7 используется модуль Private messages и Profile2

Для отправки сообщений получаетелю там нужно вводить в поле имя (login) этого пользователя. Что неудобно.

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

Т.е. что-то наподобие того, как здесь на сайте drupal.ru это реализовано.

Жду предложения по цене и сроку.

0 Thanks

Лучший ответ

Аватар пользователя ivnish ivnish 28 января 2018 в 19:26
1

В коде Private Messages уже заложена эта возможность (создание кнопки в профиле пользователя)
https://github.com/DrupalRu/drupal.ru/blob/f0626f04db2b7cbe9116a9b7f64ed...

Если профиль нестандартный, то создавайте кнопку сами, а ссылку указывайте виде /messages/new/UID пользователя, чей профиль

Комментарии

Аватар пользователя ivnish ivnish 28 января 2018 в 19:26
1

В коде Private Messages уже заложена эта возможность (создание кнопки в профиле пользователя)
https://github.com/DrupalRu/drupal.ru/blob/f0626f04db2b7cbe9116a9b7f64ed...

Если профиль нестандартный, то создавайте кнопку сами, а ссылку указывайте виде /messages/new/UID пользователя, чей профиль

Аватар пользователя portfolio portfolio 28 января 2018 в 20:12

Подскажите пожалуйста, а если я сделаю кнопку через простой блок, который отображается в профиле пользователя, которому нужно написать сообщение.
Как мне прописать ссылку чтобы в ней автоматически подставлялся uid профиля?
Так кажется делается только в представлениях.
В блоке нельзя по идее просто написать а href = /messages/new/UID
Это как-то с помощью php делать нужно?

Аватар пользователя portfolio portfolio 28 января 2018 в 20:38

Я нашёл вот такой код для подстановки в ссылку

<?php
global $user;
print 
l('Написать сообщение'"/messages/new/$user->uid");
?>

Но в нём подставляет в ссылку мой UID, а не из профиля пользователя.

Подскажите пожалуйста если знаете как исправить чтобы работало как мне нужно.

Аватар пользователя portfolio portfolio 28 января 2018 в 20:20

а код можете подсказать? Я не силён в php
Я так понимаю в блоке нужно выбрать формат php и его прописать туда.

Аватар пользователя ivnish ivnish 29 января 2018 в 10:19

Попробуйте

<?php print render($user_profile['privatemsg_send_new_message']); ?>

в вашем user-profile.tpl.php

Аватар пользователя portfolio portfolio 29 января 2018 в 10:35

А если нигде нет этого файла user-profile.tpl.php, то его самому создавать нужно?
Мне казалось, что он должен автоматически создаться когда я модуль Profile2 начал использовать.

Изивините если примитивные вопросы задаю, я просто в хуках разных и php не силён.

Аватар пользователя ivnish ivnish 29 января 2018 в 10:42

Это шаблон профиля пользователей. Его нужно создавать в каталоге templates/user темы оформления. В совсем простых темах, где шаблонов всего несколько их можно класть прямо в каталог с темой

https://api.drupal.org/api/drupal/modules%21user%21user-profile.tpl.php/7.x