Как изменить значение поля drupal 7 - PullRequest
0 голосов
/ 20 апреля 2011

Я работаю с drupal 7, и хотел изменить вывод значения «number_float», когда оно равно «0,00».Я копался в field.api, но понятия не имею, какую функцию делать.

Чтобы сказать это простым языком:

, если тип поля "number_float" и значение "0,00", выведите" empty value ".

Это также необходимо учитывать перед выводом просмотров.Любая подсказка или руководство будет очень цениться.

Спасибо

ОБНОВЛЕНИЕ: я использовал hook_field_attach_view_alter.Это делает, как ожидалось, однако мне интересно, если это правильно.

function mymodule_field_attach_view_alter(&$output, $context) {
  foreach (element_children($output) as $field_name) {
    $element = &$output[$field_name];
    if ($element['#field_type'] == 'number_float' && $element['#formatter'] == 'number_decimal') {
      foreach ($element['#items'] as $delta => $item) {
        if ($element[$delta]['#markup'] == '0.00' || $element[$delta]['#markup'] == '0,00') {
          $element[$delta]['#markup'] = t('Empty value message');
        }

      }
    }
  }
}

Ответом будет любое предложение или улучшение.

спасибо

Ответы [ 2 ]

2 голосов
/ 29 июля 2012

Более стандартным способом Drupal было бы манипулирование значением в функции препроцессора. Вы можете использовать hook_preprocess_HOOK для функции темы или шаблона, определенного другим модулем. Внутри него проверьте значение 0,00 и замените.

0 голосов
/ 12 апреля 2012

Обновление с hook_field_attach_view_alter - путь, поскольку никто не предлагает никаких других предложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...