it-swarm-korea.com

엔터티 필드 쿼리에 대한 페이지 매김을 인쇄하는 방법?

EntityFieldQuery 객체를 사용하는이 코드가 있습니다 :

$query = new EntityFieldQuery;
$query
  ->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', 'yacht')
  ->propertyCondition("status", 1)
  ->pager(3, 1);

// […] switch case defaulting to:
$query->fieldOrderBy("field_bautyp", 'value', "asc");
// […]

$query->execute();
$nodes = node_load_multiple(array_keys($result['node']));
return theme('yacht_display', array('nodes' => $nodes));

그리고 yacht_display.tpl.php에서

<some HTML-Code and iteration over the $nodes>
<?php var_dump(theme_pager()); # => NULL ?> 

분명히 작동합니다. URL에 ?page=2,5를 추가하면 다른 결과가 나타납니다.
이제 호출기를 렌더링해야합니다. 단순히 theme_pager()을 호출하면 작동하지 않습니다. theme('pager', array("element" => 1))을 호출하면 항상 NULL이 반환됩니다.

내가 뭘 잘못하고 있죠?

업데이트 : 코드를 현재 상태로 업데이트

4
Nils Riedemann

->initializePager() 부분이 잘못되었습니다. 왜 그렇게 하시겠습니까? 해당 라인을 종료하고 평소처럼 execute()을 호출하십시오. theme('pager') 만 호출하면 충분합니다. 왜 실패하는지 잘 모르겠습니다. initializePager()을 (를) 호출했기 때문일 수 있습니다.

5
Bojan Zivanovic

여기에서-> pager (3, 1)을-> pager (3)으로 변경하십시오. 작동합니다.

0
user303605