Rules + Flag + Field - нужна помощь

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

Аватар пользователя Nikolas Nikolas 1 октября 2015 в 16:52

Добрый день всем!
Есть контент и у него Flag - Пауза или нет.
Если человек нажимает пауза - статус меняется и должно выскочить окошко с текстовым поле куда надо вписать почему пауза. Данные эти надо сохранить в одно из полей этого контента.
Реально такое? как?

Комментарии

Аватар пользователя mozh mozh 2 октября 2015 в 13:31

при нажатии на флаг вызывать webformу в всплыващем окне и заполнять её сохраняя в ней название или ссылку на материал, да и в принципе при отправке такой формы можно записывать все в ноду по id.
для обработки вебформы с id 36 в теме создал файл webform-confirmation-36.tpl.php
в файле можете по id подгружать ноду и заполнять туда поле
пример моего содержимого файла для создания ноды при отправке формы отзыва

<?php
//загружаем  функции для работы с результатами заполнения формы
include_once(drupal_get_path('module''webform') .'/includes/webform.submissions.inc');
// получаем параметры необходимые для работы функции это id node и  id результата
$nid arg(1); 
$sid $_GET['sid'];
// получаем результат
$submission webform_get_submission($nid$sid);
// создаем переменные с данными для создания ноды
$name $submission->data[1]['value'][0];
$email $submission->data[2]['value'][0];
$phone $submission->data[3]['value'][0];
$text $submission->data[4]['value'][0];
$date =  $submission->submitted;
  
// тут создает объект ноды 
$node = new stdClass();
$node->type 'feedback';
$node->title $name.' ('$phone .')';
$node->language LANGUAGE_NONE;
$node->body[$node->language][0]['value'] = $text;
$node->body[$node->language][0]['summary'] = '';
$node->body[$node->language][0]['format'] = 'filtered_html';
$node->field_phone[$node->language][0]['value'] = $phone;
$node->field_email[$node->language][0]['value'] = $email;
$node->field_name[$node->language][0]['value'] = $name;

$node->uid 1;
$node->status 0;      // 1 - опубликовано, 0 - нет
$node->promote 0;     // 1 - показывать на главной, 0 - нет
  
// создаем ноду
node_object_prepare($node);
node_save($node);
  
// редирект назад туда где была отправлена форма  а так же параметр get  о том что форма была отправлена
header('Location: ' $_SERVER['HTTP_REFERER'].'?response=yes');?>