Drupal Views在字段的开头添加1

时间:2012-04-25 10:57:29

标签: drupal drupal-7 drupal-views

我为视图编写了一个小字段格式化程序,将原始秒数转换为漂亮的时间, 类似90秒到01:30,渲染的输出让我疯狂。

事情是01:30转到11:30,00:45转到10:45等等......

我的功能类似于:

function custom_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, &$items, $display) {
  $element = array();
  $settings = $display['settings'];
  switch ($display['type']) {
    case 'sectomin':
      foreach ($items as $delta => $item) {
        $time = intval($item['value']);
        $element[$delta] =  gmdate('i:s', $time);
        // dsm($element);
      }
      break;
  }

  return $element;
}

dsm($ element)的输出是正确的:00:45,01:30等,但在渲染输出中,它变为10:45,11:30等。

任何想法可能是什么问题?


编辑: 好的,发现了问题:

...
  foreach ($items as $delta => $item) {
    $time = intval($item['value']);
    $element[$delta] = gmdate('i:s', $time);
  }
...

实际上应该是:

...
  foreach ($items as $delta => $item) {
    $time = intval($item['value']);
    $element[$delta] = array('#markup' => gmdate('i:s', $time));
  }
...

1 个答案:

答案 0 :(得分:0)

尝试使用自定义格式化程序 - http://drupal.org/project/custom_formatters/模块。之后使用date_parse_from_format(“D,m / d / Y - H:i”,$ custom_date);命令。在基于Windows的Web服务器中注意此功能不存在。