Datatables (jQuery)

am 25.10.2010 - 10:46 Uhr in
Hallo,
kennt sich jemand mit der Implementierung von Datatables in Drupal aus. Vielleicht hat der ein oder andere eine Step-by Step Anleitung. Ich habe folgenden Code verwendet:
<?php
.INFO - File:
; $Id$
name = mi_projekte_itk
description = Projekte itk
package = Test Module
version = "6.x-0.1"
core = 6.x
scripts[] = mi_projekte_itk.js
scripts[] = views
.module - File:
<?php
// $Id$
function mi_projekte_itk_init() {
drupal_add_js(drupal_get_path('module', 'mi_projekte_itk').'/mi_projekte_itk.js');
drupal_add_js(drupal_get_path('module', 'mi_projekte_itk') .'/jquery.dataTables.js');
drupal_add_css(drupal_get_path('module', 'mi_projekte_itk') .'/demo_table.css');
}
function mi_projekte_itk_page() {
$output = drupal_get_form('mi_projekte_itk_form');
return $output;
}
function mi_projekte_itk_form($form_state = NULL) {
/* Form fuer die Suche nach Projektmitarbeitern */
$form['example'] = array(
'#type' => 'markup',
'#prefix' => '<div>',
'#value' => 'Test',
'#suffix' => '</div>');
$form['mitarbeiter'] = array(
'#title' => 'Bearbeiter / Projektleitersuche',
'#type' => 'select',
'#options' => array( 'A', 'B', 'C'),
'#multiple' => FALSE,
);
Return $form;
}
.js - File:
// $Id$
/**
* Blendet die Blöcke
*/
Drupal.behaviors.blockaway = function (context) {
$('test').dataTable();
}
?>
Die Tabelle wird jedoch nicht dargestellt. Wahrscheinlich muss diese erst initialisiert werden.
In den Foren von datatables.net oder jQuery habe ich leider keine passende Info gefunden.
Danke schon mal vorab.
Joachim
- Anmelden oder Registrieren um Kommentare zu schreiben
DataTables
am 25.10.2010 - 10:52 Uhr
Hallo.
Hilft eventuell das Modul [do:datatables DataTables] weiter?
Stefan
Halllo Stefan, ja, dieses
am 25.10.2010 - 11:01 Uhr
Halllo Stefan,
ja, dieses Modul habe ich installiert und aktiviert in Drupal. Ich denke es liegt daran wie ich eine Tablle definiere, wo wird der Header, wo das array mit den Daten etc. definiert? Die Seite von datatables.net enthält zwar viele Informationen aber so einfach wie die das darstellen ist es allem Anschein nach nicht.
Hast Du noch eine Idee?
Gruß
Joachim
Views
am 25.10.2010 - 11:42 Uhr
Wenn ich das richtig sehe, verwendet das Modul einen View als Datenbasis. Du musst Dir also einen View erstellen, der die gewünschten Daten ausgibt und dann DataTables als Style-Plugin wählen.
Stefan
Hallo Stefan, wenn ich als
am 25.10.2010 - 11:57 Uhr
Hallo Stefan,
wenn ich als Drupal Anfänger es richtig deute, verknüpfe ich doch in einer View die Datenfelder einer Datenbank mit der Ausgabe. In meinem Fall lese ich die Daten mit einen Select Statement selbst aus, da noch diverse Abfragen gemacht werden. Daher gehe ich davon aus, dass die View nicht mit verwenden kann sondern einfach eine Form z.B. vom type "markup" nehmen kann. Doch gerade hier ist mein weniges Latein zu Ende.
Oder bin ich falsch mit dieser Annahme und muß auf jeden Falle eine View erstellen?
Gruß
Joachim
DataTables
am 25.10.2010 - 12:07 Uhr
Oder bin ich falsch mit dieser Annahme und muß auf jeden Falle eine View erstellen?
Hm. Auf der Projektseite steht auch etwas von einem Theme-Aufruf.
Dementsprechend müsstes Du die Tabelle auch per FormsAPI definieren und dann per theme-Funktion als DataTable ausgeben können.
Laut Code funktioniert das wirklich über
<?php theme('datatable', $header, $rows); ?>
.Schau mal in den Funktionskommentar von
theme_datatable()
in der Datei datatables.module. Dort steht auch ein Beispiel, wie die Tabellendaten aufgebaut werden müssen (ist analog zu [api:theme_table]).hth,
Stefan