it-swarm-es.com

¿Cómo imprimir la paginación para consultas de campo de entidad?

Tengo este código que usa un objeto 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));

Y en el yate_display.tpl.php

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

Al parecer funciona; cuando agrego ?page=2,5 a la URL obtengo resultados diferentes.
Ahora necesito renderizar el localizador. Simplemente llamar a theme_pager() no funciona; llamar a theme('pager', array("element" => 1)) siempre devuelve NULL.

¿Qué estoy haciendo mal?

ACTUALIZACIÓN: actualizó el código a su estado actual

4
Nils Riedemann

La parte ->initializePager() está mal; ¿Por qué harías eso? Mata esa línea y llama a execute() como de costumbre. Simplemente llamar a theme('pager') debería ser suficiente; No estoy seguro de por qué falla. (Tal vez debido a la llamada a initializePager().)

5
Bojan Zivanovic

Cambie aquí: -> localizador (3, 1) a -> localizador (3). Funcionará.

0
user303605