Как отобразить форму, заполненную отправкой VBO?
Я хотел бы использовать модуль Privatemsg для отправки сообщений группе пользователей. Для этой цели я планирую использовать представление с Представлениями массовых операций (VBO) и множеством открытых фильтров.
Мне удалось создать пользовательское VBO-действие, которое помещает выбранных пользователей в поле получателя формы сообщения:
function mymodule_my_custom_action(&$user, $context=array()) {
module_load_include('pages.inc','privatemsg');
$recipients = array();
foreach ($user as $recipient) {
$recipients[] = user_load($recipient->uid);
}
$subject = 'Some subject'
$message_form = drupal_get_form('privatemsg_new', $recipients, $subject);
$message_html = drupal_render($message_form);
}
У меня не очень большой опыт в разработке, поэтому я не знаю, как отобразить эту форму вместе с представлением, которое помогает выбрать бюджетополучатели. Простого print $message_html;
, конечно, будет недостаточно. Например, можно ли использовать страницу панели, содержащую две панели: одну для просмотра пользователями с VBO и одну для формы privatemsg?
Мы будем очень признательны за любую помощь!
1 answers
В соответствии с " Я не очень опытен в разработке", вы можете использовать альтернативный подход, который требует только навыков создания сайтов, как описано ниже...
Вместо этого используйте интеграцию модуля Privatemsg с правилами (обязательно проверьте этот документ сообщества и его дочерние страницы...) вместе с модулем Просмотр массовых операций .
Для получения более подробной информации обратитесь к видео о Использовании компонентов правил с VBO. Возможно, вы также захотите просмотреть 2 предыдущих видео и/или 2 последующих видео (все о Просмотре массовых операций ), т.Е.:
- Представление массовых операций Просмотра.
- Более подробная информация о настройках VBO.
- Использование компонентов правил с более чем одним параметром.
- Использование VBO для загрузки списка объектов в правила.
В данном конкретном случае;
- использовать Массовые просмотры операции для создания списка ваших целевых пользователей (так что это всего лишь небольшая вариация представления на основе VBO, которое у вас, похоже, уже есть).
- создайте компонент правил, который использует Правила действие "Отправить сообщение" (предоставляется модулем Privatemsg). Если бы вы добавили 2 "переменные" в этот компонент правил, названный чем-то вроде "msgsubject" и "msgbody", вы могли бы использовать эти переменные в качестве "токенов" для построения фактического предмета и тела вашего сообщение.
- В настройках VBO просто выполните этот компонент Правил. Если вы затем используете это представление VBO, вы можете указать желаемые значения для переменных, используемых для создания компонента правил (например, "msgsubject" и "msgbody"). Таким образом, вы избегаете жесткого кодирования " Тема" и " Тело" для действия "Отправить сообщение" (без этих переменных это позволило бы вам отправлять только предопределенные сообщения). И это просто с помощью этих переменных ваших правил Компонент (для реализации этой "Темы" и "Тела" сообщения). Таким образом, каждый раз, когда вы используете свой VBO для отправки таких сообщений, вы можете ввести желаемую "Тему" и "Тело" для каждого из этих сообщений.
Сделано, не задействовано (пользовательское кодирование)...
Для некоторых других иллюстраций использования VBO в сочетании с компонентами правил обратитесь к ответам на эти вопросы: