2012-09-21 3 views
0

고유 한 문제가 있습니다. Drupal 사이트에서 티저에 많은 노드가 표시되고 각 노드마다 호출기가있는 테이블을 사용하고 있습니다. 문제는 페이지를 처음로드 할 때 테이블 정렬이 작동하지 않는다는 것입니다. 그러나 호출기를 사용하여 다른 페이지로 이동 한 다음 다시 이동하면 정렬 작업이 수행됩니다.페이저 URL을 사용하는 표 머리글 얻기 drupal 7

이 문제를 조사한 결과, 초기로드시 헤더 링크의 URL은 기본 링크 인 mysite.com/node?sort=asc & order = Name을 사용함을 알았습니다. 나는 호출기, 헤더 링크는 다음 URL이 변경을 클릭 한 후 : mysite.com/mycallbackfunction?_=1348208999187 & 페이지 = 1 & 꾸벅 꾸벅 = 13 & pager_id = 1 & 종류 = DESC & 순서 = 이름

알아 차리면 URL이 분명히 다르다. 괜찮 았지만 중요한 점은 초기로드에서 nid가 누락되었다는 것입니다. 호출기 URL 또는 일부 URL을 사용하도록 테이블 헤더를 사용하고 싶습니다. 따라서 nid가없는 경우 함수에서 아무것도 반환하지 않으므로 두 경우 모두에서 nid가 표시됩니다.

이 테이블을 표시 mycallbackfunction의 관련 코드는 다음과 같습니다

//Attach a theme table 
    $html = theme('table', array(
    'header' => $header, 
    'rows' => $rows, 
    'attributes' => array(
     "class" => array(
     "my_table_box" 
    ), 
     "cellspacing" => '0', 
     "cellpadding" => '0' 
))); 

//Pager theme 
    $html .= theme('pager', array(
    'element' => $pager_id, 
    'parameters' => array(
     'nid' => $nid, 
     'pager_id' => $pager_id), 
    'quantity' => ceil($count/5) 
)); 

희망의 사람이 이상한 문제에 대한 통찰력을 가질 수 있습니다.

답변

0

테마 ('호출기') 기능에서 맞춤 매개 변수를 전달할 수 있습니다.

<?php 
// e.g. 
theme('pager', array('parameters' => array('nid' => $nid)) 
?>); 

다른 것을 찾고 계신가요?

행운을 빌어 요!

-immran