Index: date.theme =================================================================== --- date.theme (revision 365) +++ date.theme (working copy) @@ -50,7 +50,7 @@ $node = $element['#node']; $field_name = $element['#field_name']; - $context = !empty($node->content) && !empty($node->content[$field_name]) ? $node->content[$field_name]['#context'] : ''; + $context = _date_find_field_context($field_name,$node->content); $type_name = $element['#type_name']; $fields = content_fields(); $field = $fields[$field_name]; @@ -322,4 +322,27 @@ function theme_date_all_day_label() { return '('. date_t('All day', 'datetime') .')'; } -/** @} End of addtogroup themeable */ \ No newline at end of file +/** @} End of addtogroup themeable */ + +/** + * Helper function - try to find the context (teaser or full) of a field, searching inside fieldsets + */ +function _date_find_field_context($field_name, $content) +{ + if (empty($content)) return ''; + if (!empty($content[$field_name])) { + return $content[$field_name]['#context']; + } + foreach ($content as $item) { + if (!empty($item['#context'])) { + return $item['#context']; + } + if (!empty($item['group'])) { //fieldset + $context = _date_find_field_context($field_name, $item['#group']); + if (!empty($context)) { + return $context; + } + } + } + return ''; +} \ No newline at end of file