webform - additional processing - emailben küldeni a submitted_tree-t

fifty képe

sziasztok

webform additional_processing mezőjében szeretném összeállítani a post-olt adatokat egy html table-ben - lényegében ugyanazt mint a drupal csinál. Van erre beépített drupal metódus, amit meg tudok hívni?

vagy B ter a webform emailküldőjét használva a subject-be kellene a submitted_tree-ből egy field-et betenni.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
pp képe

Értelmesen lehetne, mert csak a fenti választ lehet így adni.

pp

0
0
fifty képe

ok, akkor részletesen leírom.

1 db webformot akarok használni 3 tipusú regisztrációra. a 3 tipus csak egy mezőben különbözik (a típus, ami lehet: egyéni, páros, trio). Az, hogy milyen tipusú a regisztráció request paramban jön, és egy hiddenbe rakom bele a form-on (%get['regtype']) -al.

Nost azt szeretném elérni, hogy az email subject-je, amit a webform submit-kor küld, tartalmazza ezt a regtype mezőt, és a ['submitted_tree']['contact_data']['name'] mező értékét is.

ezt 2 módon képzeltem el:

1) a webform-on lévő emailküldés subject mezőbe írom, hogy tegye be a fent említett mezők értékét - de tudtommal nem lehet csak %title-t haszálni.

2) az additional processing-ből küldöm az email-t, ott olyan subjectet állítok össze amilyet akarok, de akkor itt szükségen van arra, hogy a levél body-jába beletegyem az egész submitted_tree-t. Ehhez lenne jó az a drupal metódus ami összerakja nekem.

0
0
york képe

A webformban lehetoseg van urlaponkent es minden urlapra vonatkozoan sminkelni a level fejlecet es torzset a megfelelo tpl segitsegevel.

0
0
fifty képe

nekem egy űrlapom (== webform ?) van, azt szeretném 3 módban használni

vagy az a megoldás is érdekel, hogy belenyúlni a webform modul-ba ahol összeállítja az email subject-et, és oda php kódból berakni a mezőket.

0
0
york képe

Kedves fifty!

Nagyon csabito dolog ez a belenyulunk egy modulba dolog, de soha ne csinalj ilyet, inkabb tanulj.
Szerintem meg se nezted azt amit mondtam.
Hozd letre a sminkedbe a megfelelo tpl.php fileokat es ird at oket, pont ugyanazt ered el mintha a webform modulba irtad volna bele a kododat.
Az sem veletlen, hogy nem irom le konkretan az allomanyok nevet.

0
0
fifty képe

na jó, megcsináltam ahogy kell, de annyit mondhattál volna, hogy kezdjem a THEMING.txt-vel! :) de így is megtaláltam mindent, kivéve:

function phptemplate_webform_mail_message_159($form_values, $node, $sid, $cid) {
  if ($cid != 'default') {
    $template = 'webform-mail-159-customer';
  } else {
	$template = 'webform-mail';
  }
  return _phptemplate_callback($template, array('form_values' => $form_values, 'node' => $node, 'sid' => $sid, 'cid' => $cid));
}

hol találtom a default webform-mail.tpl.php-t? a modulban nem találtam, nekem meg kellene, mert a default cid-re azt akarom használni

0
0
szantog képe

Ha nem találsz webform-mail.tpl.php, akkor a drupal template logikájából kiindulva a webform.tpl.php-t kell átalakítani, és webform-mail.tpl.php-ra átnevezni.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

york képe

A webform modul gyokereben ott a keresett tpl, masold a sminked konyvtaraba es modosits.
Segitek a webform modul gyokerebe az alabbi tpl.php allomanyok vannak:
- webform-confirmation.tpl.php
- webform-form.tpl.php
- webform-mail.tpl.php

0
0
fifty képe

na ja, de a webform-5.x-2.9.tar.gz -be nincsenek meg ezek. Én pedig sajna ezt kell hogy használjam

0
0
york képe

Bocs nem figyeltem fel erre az aprosagra.
Itt van amit keresel:

/**
 * Theme the contents of e-mails sent by webform.
 *.
 * @param $form_values
 *   An array of all form values submitted by the user. The array contains three
 *   keys containing the following:
 *   - submitted: All the submitted values in a single array keyed by webform
 *     component IDs. Useful for simply looping over the values.
 *   - submitted_tree: All the submitted values in a tree-structure array, keyed
 *     by the Form Key values defined by the user.
 * @param $node
 *   The complete node object for the webform.
 * @param $sid
 *   The submission ID of the new submission.
 * @param $cid
 *   If you desire to make different e-mails depending on the recipient, you can
 *   check this component ID to output different content. This will be the ID
 *   of the component that is a conditional e-mail recipient. For the normal
 *   e-mails, it will have the value of 'default'..
 */
function theme_webform_mail_message($form_values, $node, $sid, $cid) {
  global $user;
 
  $message = '';
  $message .=  t('Submitted on') .' '. format_date(time(), 'small') ."\n";
  $ip_address = $_SERVER['REMOTE_ADDR'];
 
  if ($user->uid) {
    $message .= t('Submitted by user') .": $user->name [$ip_address]\n";
  }
  else {
    $message .= t('Submitted by anonymous user') .": [$ip_address]\n";
  }
 
  $message .= "\n";
  $message .= t('Submitted values are:') ."\n\n";
  $message .= theme('webform_mail_fields', 0, $form_values['submitted_tree'], $node);
 
  $message .= "\n\n";
  $message .= t("The results of this submission may be viewed at:") ."\n";
  $message .= url('node/'. $node->nid. "/submission/". $sid, NULL, NULL, TRUE);
 
  return $message;
}

Ennek a fuggvenynek a tartalmat masold be a sajat fuggvenyedbe es modositsd ugy ahogy te szeretned.
0
0
fifty képe

ez kell nekem, elárulod honnan szedted? - csak hogy legközelebb én is tudjam ...

0
0
york képe

Rakerestem melyik file tartalmazza ezt a szoveget: theme_webform_mail_message.

0
0
ropiafoldetnezi képe

hello,

és a beküldött adatok sminkelése milyen .tpl.php-val történik, mert erre nem találtam vonatkozó leírást?

a theming.txt az email, a confirmation page és a teljes form sminkelésére ad példát, de ha csak a beküldött adatok "nézetben" akarok változtatni, azt hol tehetem meg?

0
0
ropiafoldetnezi képe

hát a vége egy phptemplate_webform_form_"my-id"($form) függvény lett a template.php-ban;

és ott a $form-hoz hozzáteszem, amit akarok, amikor szerepel az url-ben a submission;

0
0