2011-04-20 113 views
0

我正在使用drupal 7,並且希望在「0.00」時更改「number_float」值的輸出。我已經挖掘到field.api,但不知道要做什麼功能。如何更改字段值drupal 7

要說它用簡單的英語:

字段類型「number_float」和值爲「0.00」,打印「空值」。

這也是考慮之前的意見輸出。 任何暗示或指導將非常感激。

感謝

更新: 我用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

更標準的Drupal方式是在預處理器函數中操縱值。您可以使用hook_preprocess_HOOK作爲主題功能或由其他模塊定義的模板。在裏面,測試0.00的值並更換。

+0

謝謝。你是對的。預處理是要走的路。 – swan 2012-07-30 13:05:19

0

與hook_field_attach_view_alter更新是去因爲沒有人提供其他任何建議的方式。