Пользовательские форматы дат в электронных письмах веб-формы
У меня есть веб-форма, которая отправляет электронное письмо. В веб-форме есть поле даты, и мне нужно отформатировать это поле даты.
Я пробовал:
[submission:values:date_field:CUSTOM_FORMAT]
[submission:values:date_field:long]
[submission:values:date_field:value:custom:d-M-y]
Оба результата приводят к пустой дате.
Как я могу отформатировать дату в электронной почте веб-формы, используя формат даты не по умолчанию (который, по-видимому, short
)?
1
Author: Scott Joudry, 2015-11-18
1 answers
Мне пришлось создать пользовательскую функцию hook_tokens:
/**
* Implementation of hook_tokens().
*/
function MODULE_tokens($type, $tokens, array $data = array(), array $options = array()) {
$replacements = array();
if ($type == 'submission' && !empty($data['webform-submission'])) {
$node = isset($data['node']) ? $data['node'] : node_load($submission->nid);
foreach ($tokens as $name => $original) {
switch ($name) {
case 'values:date_field:custom_format':
foreach ($node->webform['components'] as $cid => $component) {
if ($component['form_key'] == 'date_field') {
$replacements[$original] = format_date(strtotime($data['webform-submission']->data[$cid][0]), 'custom_format');
}
}
break;
}
}
}
return $replacements;
}
1
Author: Scott Joudry, 2015-11-18 18:07:36