it-swarm-eu.dev

Jak vytisknout stránkování pro dotazy na entity?

Mám tento kód, který používá objekt 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));

A v souboru yacht_display.tpl.php

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

Zjevně to funguje; když do adresy přidám ?page=2,5, získám různé výsledky.
Teď musím vykreslit pager. Jednoduše volání theme_pager() nefunguje; volání theme('pager', array("element" => 1)) vždy vrací NULL.

Co dělám špatně?

UPDATE: aktualizace kódu na jeho aktuální stav

4
Nils Riedemann

Část ->initializePager() je nesprávná; proč bys to dělal? Zabijte tuto linku a volejte execute() jako obvykle. Stačí zavolat theme('pager'); Nejsem si jistý, proč selže. (Možná kvůli volání funkce initializePager().)

5
Bojan Zivanovic

Změňte zde: -> pager (3, 1) na -> pager (3). Bude to fungovat.

0
user303605