Webforms의 이메일 템플리트에서 [submission : values]를 사용하는 방법


9

Webform 7.x-4.0-alpha6 버전 모듈이 활성화되어 있습니다.

20 개의 폼 구성 요소가있는 Webform 노드가 있습니다. 이메일 설정에 하나의 이메일을 추가하고 토큰을 사용하는 이메일 템플리트 [submission : values]를 작성했습니다 .

그런 다음 메시지를 제출하는 웹 양식을 테스트합니다. 문제는 [submission : values]제목 과 각 구성 요소 의 을 다르게하기 위해 구성 요소 값을 구분선, 세미콜론없이 매우 일반적인 방식으로 인쇄한다는 것 입니다. 다음과 같은 것 :

Name Jhon
Addresss Myaddress 12 
CP 19932
....

구성 요소가 20 개이면 전자 메일을 완전히 읽을 수 없습니다.

내 질문은 : 적어도 제목과 값 사이에 세미콜론을 추가하고 제목을 굵게 만드는 더 나은 방법으로 인쇄하는 방법 (토큰)이 있습니까? 또는 출력을 테이블에 넣습니까?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

제목은 [webform : {component} -title], 값은 [webform : {component} -value] 토큰을 사용하여 구성 요소를 개별적으로 인쇄 할 수 있음을 알고 있습니다.

그런 다음 스타일을 지정할 수 있습니다. 하지만 이메일 템플릿에 모든 구성 요소를 표시해야하므로 시간 낭비입니다.

업데이트 :이 모듈을 찾았지만 도움이되지 않습니다 : http://drupal.org/project/webform_tokens

답변:


10

나는 그런 문제가 없지만 webform에서 특별한 가치를 얻는 방법을 알고 있습니다.

제출 된 데이터의 Webform 토큰. 값과 필드 레이블을 포함합니다. " ?"를 " 필드 키 "로 바꾸십시오 . :nolabel값에 " "를 추가 하십시오.

그래서, 당신은 사용할 수있는 [submission:values:?:nolabel]경우, ?구성 요소의 필드 키입니다.

 Name: [submission:values:name:nolabel]
 Address: [submission:values:address:nolabel]

나에게 결과는 다음과 [submission:values]같습니다.

이름 : Kate
주소 : Moscow, Russia :)

웹폼 버전 : 7.x-4.0-alpha6 (7404).

웹 양식 토큰 모듈이 필요하지 않습니다.

최신 정보

HTML 메일을 사용하는 경우 라벨은를 통해 출력되며 theme_form_element_label다음과 같습니다 <label>Title</label>\n.

재정의 할 수 있습니다 webform-submission.tpl.php. 의 이메일을 렌더링하기 위해이 파일을 테마로 복사하십시오 admin/config/system/mailsystem.
추가하려면 :렌더 배열을 수정하는 것이 좋습니다.

if ($format == 'html') {
  foreach ($renderable as $i => $item) {
    if (is_array($item) && !empty($item['#title'])) {
      $renderable[$i]['#title'] .= ':';
    }
  }
}

print drupal_render_children($renderable);

그러나 대체물을 완전히 출력 할 수 있습니다.


2
당신이 말한 것은 유효한 옵션이지만이 줄을 20 번 반복해야합니다. 20 개의 구성 요소를 모두 한 번에 출력하는 한 줄을 찾고 있습니다.
chefnelone

@ chefnelone 답변을 업데이트했습니다.
kalabro

나는 당신이 가까이 있다고 생각하지만 ... 단지 $ renderable 배열에 dpm 함수를 사용하고 안에 $ item [ '# title']이 없습니다. 어쩌면 당신은 webform 버전 3에 있습니다. 나는 버전 4 beta6을 사용하고 있습니다. 내 캡처를보십시오 : content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
코드가 맞습니다. 웹 양식 구성 요소를 중첩하고 있으며이 행 if (is_array($item) && !empty($item['#title'])) {을 변경 하여 작동하도록해야합니다.
chefnelone

1

webform의 HTML로 이메일 보내기 옵션을 사용하십시오 .

Mime MailMail System 모듈 을 설치 한 다음 형식 으로 이동 하여 HTML로admin/config/content/webform 설정하면 사용할 수 있습니다.


0

또한 그리드 구성 요소를 사용하는 경우 필드 키와 질문 키를 모두 사용하여 해당 토큰을 호출해야합니다. 예를 들어 설문 조사를 할 때 그리드는 종종 다음과 같이 각 행의 라디오 버튼을 사용하여 1 ~ 3의 비율로 무언가를 평가하도록 요청하는 경우에 사용됩니다.

샘플 질문 :

1 = 높음, 3 = 낮음으로 다음 순위를 지정하십시오.

+---------------+-----+-----+-----+
|   Breweries   |  1  |  2  |  3  |
+---------------+-----+-----+-----+
| Lighthouse    | [o] | [o] | [o] |
| Phillips      | [o] | [o] | [o] |
| Whistler      | [o] | [o] | [o] |
+---------------+-----+-----+-----+

질문 2의 답의 값을 출력하려면 다음을 사용하십시오.
맥주 질문 2의 값은 다음과 같습니다. [submission : values ​​: my_beer_field : phillips]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.