Ответить на тему  [ 1 сообщение ] 
Как к комментарию прикрепить форму, так чтобы эта форма отно 
Автор Сообщение
Прохожий

Зарегистрирован: 26 мар 2012, 09:37
Сообщений: 6
Пол: мужской
Репутация: 0
Добавить пункт репутацииВычесть пункт репутации
Сообщение Как к комментарию прикрепить форму, так чтобы эта форма отно
Всем привет.
Мне необходимо решить следующее. В кастомном модуле я создал форму в которой есть текстовое поле и кнопка Отправить. Сделал для формы функции валидации и сабмита, затем запихнул данную форму в переменную template_preprocess_comment и вывел в шаблоне comment.tpl.php
Мой код:
Код:
<?php
/**
* Реализация template_preprocess_comment()
**/
function comment_email_form_preprocess_comment(&$variables){
   $variables['email_form'] = drupal_render(drupal_get_form('comment_email_form_form'));
   //dsm($variables);
}
/**
* Создаем форму, которая будет хранить данные email адресов бригад и отправлять письмо.
**/
function comment_email_form_form($form, $form_state){
$query = db_select('comment', 'c')
   ->fields('c', array('cid', 'nid'));
$result = $query->execute();
$comments = array();
foreach($result as $value){
   $comments[$value->cid] = comment_load($value->cid);
}
    dsm($comments);
  $form['email'] = array(
    '#type' => 'textfield',
    '#access' => TRUE,
    '#default_value' => $comments[$value->cid]->brigade_select['und'][0]['value'], // ???
    '#required' => TRUE,
  );

  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Send'),
  );
  $form['#validate'][] = 'comment_email_form_validate';
  $form['#submit'][] = 'comment_email_form_submit';
  $form_state['rebuild'] = TRUE;
  return $form;
}
function comment_email_form_validate($form, &$form_state) {
  $form_state['rebuild'] = TRUE;
  $valid_email = $form_state['values']['email'];
  /*if (!valid_email_address($valid_email)) {
  form_set_error('email', 'Sorry. Your email address,' . $valid_email . ', is not valid. Please submit a valid E-mail address.');
  }*/
}
function comment_email_form_mail($key, &$message, $params) {
if($key == 'some_mail_key'){
  $headers = array(
    'MIME-Version' => '1.0',
    'Content-Type' => 'text/html; charset=UTF-8;',
    'Content-Transfer-Encoding' => '8Bit',
    'X-Mailer' => 'Drupal'
  );

  foreach ($headers as $key => $value) {
    $message['headers'][$key] = $value;
  }

  $message['subject'] = $params['subject'];
  $message['body'] = $params['body'];
  }
}

function comment_email_form_submit($form, &$form_state) {
   $valid_email = $form_state['values']['email'];
    $from = 'noreply@example.com';
    $body[] = 'Email: '.$valid_email.'<br />URL: '.request_uri().'Вот такое вот хаха :0';
    $to = $valid_email; // Set this email address - emails will be sent to this email address!
    $params = array(
    'body' => $body,
    'subject' => 'Website Information Request',
    );

    if (drupal_mail('comment_email_form', 'some_mail_key', $to, language_default(), $params, $from, TRUE))
    {
        drupal_set_message(t('Thank you for writing team has been sent successfully. Please wait for further instructions.'));     
    } else {
        drupal_set_message(t('Error sending e-mail. Please try again later'));
    }
}

Судя по коду уже можно увидеть какая основная задача модуля, мне нужно отправлять email на адрес пользователя который оставил при создании бригады(нода) а затем прокомментаровал заявку в которой и есть наша форма отправки Email. Проблема в том, что я не знаю как мне прицепить email адрес пользователя к текстовому полю по умолчанию. Нужно как-то привязать форму к самому комментарию.


14 окт 2013, 16:53
Профиль Отправить личное сообщение
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ 1 сообщение ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Нет новых непрочитанных сообщений в этой теме CronoForms. Форма обратной связи. Привязка юзеров Joomla

в форуме РАЗЛИЧНЫЕ СКРИПТЫ И ВНЕШНИЕ ПРИЛОЖЕНИЯ

Laudis

0

1585

13 мар 2012, 13:10

Laudis Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме SOBI2, gallery plugin - пропала форма добавления изображений

в форуме ВНЕШНИЕ РАСШИРЕНИЯ ДЛЯ JOOMLA

verok

0

2011

24 апр 2012, 11:00

verok Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Перестала работать форма обратной связи настроенная на CKFor

в форуме ВНЕШНИЕ РАСШИРЕНИЯ ДЛЯ JOOMLA

peterhof

0

1469

20 сен 2012, 05:34

peterhof Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Форма обратной связи (simpleform2) в лайтбоксе (joombox)

в форуме ВНЕШНИЕ РАСШИРЕНИЯ ДЛЯ JOOMLA

derzhko

2

2695

17 янв 2013, 23:30

Zvirec [Bot] Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Форма Смартриспондер не работает!..помогите выяснить почему.

в форуме РАЗЛИЧНЫЕ СКРИПТЫ И ВНЕШНИЕ ПРИЛОЖЕНИЯ

Элина

4

1404

22 фев 2010, 16:16

Элина Перейти к последнему сообщению


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: