Usar o módulo de dados jQuery para o Drupal 7

Sou um novato Drupal e entendi como fazer meus blocos básicos e menus sofar. Também aprendi um pouco de jQuery (e é incrível).

estou a tentar integrar uma lista paginada de utilizadores que é apenas um script PHP separado no momento em o meu novo site Drupal 7:

enter image description here

Estou a tentar implementá-lo como um menu Drupal, para poder chamá-lo de http://preferans.de/top (para ter a paginação offset de 0) e http://preferans.de/top/100 (para mostrar a lista de utilizadores a começar pelo 100º utilizador):

function pref_menu() {
  $items['top'] = array(
    'title' => 'Weekly player rating',
    'description' => 'Weekly player rating',
    'page callback' => 'pref_top_callback',
    'access callback' => TRUE,
    'file' => 'pref.top.inc',
    'file path' => drupal_get_path('module', 'pref'),
    'type' => MENU_CALLBACK,
  );

  return $items;
}

e o meu simples pref.superior.o ficheiro inc é:

function pref_top_callback($offset = 0) {
  return array(
    'pref_players_table' => array(
      '#type' => 'markup',
      '#markup' => pref_players_table($offset),
    ),
  );
}

function pref_fetch_players($offset) {
  /* FETCH MAX 20 RECORDS INTO AN ARRAY */
  $players = array();
  $result = db_query("
select u.id,
        u.first_name,
        row_number() OVER (order by m.money desc) as pos,
        u.female,
        u.city,
        u.avatar,
        m.money,
        u.login > u.logout as online
from pref_users u, pref_money m where
        m.yw=to_char(current_timestamp, 'IYYY-IW') and
        u.id=m.id
order by m.money desc
limit 20 offset :offset
", array(':offset' => array($offset)),
  array('fetch' => PDO::FETCH_ASSOC)
  );
  $players = $result->fetchAll();

  /* PRINT THE ARRAY AS AN HMTL-TABLE */
  $table = '<table>';
  foreach ($players as $user) {
    $table .= '<tr>';
    $table .= sprintf('<td>%u</td>
<td><a href="/user.php?id=%s">%s</a></td>
<td>%s</td><td>%d $</td>',
      $user['pos'],
      $user['id'],
      $user['first_name'],
      $user['city'],
      $user['money']);
    $table .= '</tr>';
  }

  $table .= '</table>';
  return $table;
}

isto funciona, eu recebo uma página Drupal com uma tabela HTML contendo até 20 linhas:

enter image description here

mas não faço ideia de como usar O módulo Drupal de Dados . Eu baixei e instalei com sucesso e estou olhando para o seu código fonte, mas não sei por onde começar.

Por favor, ajude-me. eu, como posso chamá-lo da minha função de menu?

Obrigado! Alex

Author: Alexander Farber, 2011-03-22

1 answers