2017-05-09 3 views
0

drupal 7에서 datatables로 뷰를 생성하고 있습니다. 'd/m/Y'형식의 컬럼 날짜가 있습니다. 정렬을 올바르게하기 위해 here에서 참조 된대로 이러한 테이블 셀에 '데이터 순서'특성을 추가 할 계획입니다.datatables에서 d/m/Y 데이터 정렬하기 drupal 7

템플릿 또는 사전 처리 기능으로 날짜가 포함 된 <td>을 다시 쓰려고 할 때 문제가 있습니다. 모든 행의 날짜 셀에 데이터 순서 특성을 추가하여 나중에 프런트 엔드 정렬에 사용할 수있게하려고합니다.

누군가 나를 도와 줄 수 있습니까?

+0

당신이''s의 번째 다시 시도 위치를 예를 들어, 코드를 직면하고 무엇을 "문제"를 적어주세요. 'data-order'는 뷰와 컬럼을 정렬하는 방법의 차이가있는 컬럼을위한 것일뿐입니다. 그것은 당신이 정렬 플러그인으로 더 나을 것 같습니다. – davidkonrad

+0

@ davidkonrad 기존 열에 데이터 순서 특성을 추가하는 방법을 찾는 중입니다 ... 템플릿 전처리를 시도했지만 innerhtml과 특성이 아닌 innerhtml 수 있습니다. – meen

+1

'올바르게 정렬'이란 무엇입니까? 드루팔 (Drupal) 뷰는 정확하게 날짜를 정렬합니다 ... –

답변

1

'data-order'속성을 추가하는 대신 날짜 열에 숨겨진 기간을 추가하여 문제를 해결했습니다. 전에 시도한 것과 똑같은 일이지만 템플리트 전처리에서는 작동하지 않았습니다.

/* This did not work */ 
function template_preprocess_views_view_field__viewname__date_field(&$vars) { 
    $vars['output'] = "<span class='hidden'>".$vars['row']->date."</span>".$vars['row']->date; 
} 


/* THIS WORKED */ 
/* Field: Content: date */ 
$handler->display->display_options['fields']['date_h']['id'] = 'date_h'; 
$handler->display->display_options['fields']['date_h']['table'] = 'node'; 
$handler->display->display_options['fields']['date_h']['field'] = 'created'; 
$handler->display->display_options['fields']['date_h']['exclude'] = TRUE; 
$handler->display->display_options['fields']['date_h']['date_format'] = 'custom'; 
$handler->display->display_options['fields']['date_h']['custom_date_format'] = 'U'; 
$handler->display->display_options['fields']['date_h']['second_date_format'] = 'long'; 
/* Field: Content: Post date */ 
$handler->display->display_options['fields']['date']['id'] = 'date'; 
$handler->display->display_options['fields']['date']['table'] = 'node'; 
$handler->display->display_options['fields']['date']['field'] = 'created'; 
$handler->display->display_options['fields']['date']['label'] = 'Date'; 
$handler->display->display_options['fields']['date']['date_format'] = 'short_date_only'; 
$handler->display->display_options['fields']['date']['alter']['alter_text'] = TRUE; 
$handler->display->display_options['fields']['date']['alter']['text'] = '<span class="hidden">[date_h]</span>[date]';