Изменить title поля типа date

Была такая бяка в старых версиях модуля date:

title поля задавался в процессе типа элемента и поменять его form_alter'ом или еще чем-то было очень не удобно.

В данном случае, чтобы поменять title у date-филда нужно добавить свою функцию процессинга для элементов такого типа:

<?php
/**
 * Implements_element_info_alter().
 * @param $type
 */

function MYMODULE_element_info_alter(&$type) {
  // добавляем свою функцию процессинга
  if (isset($type['date_combo']['#process'])) {
    $type['date_combo']['#process'][] = 'MYMODULE_date_combo_process';
  }
}

/**
 * Подразумевается, что в form_alter для формы была произведена модификация:
 * - добавлен атрибут #newtitle для элемента field_stage_act_date
*/

function MYMODULE_date_combo_process($element, &$form_state, $form) {
  if ($element['#field_name'] == 'field_stage_act_date' && isset($form['field_stage_act_date']['#newtitle'])) {
    $element['value']['#title'] = $form['field_stage_act_date']['#newtitle'];
  }
  return $element;
}
?>

Тэги:

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.