Ich habe eine Drupal 7-Website mit einigen von mir geschriebenen benutzerdefinierten Blöcken und Menüs eingerichtet.
Ich habe ein Nicht-Drupal-PHP-Skript , das Benutzer (einige von ihnen sind extern, dh nicht in Drupal-Tabellen gespeichert) als Tabelle mit dem DataTables- jQuery-Plugin anzeigt .
Ich möchte dieses Skript als Drupal-Menü umschreiben, damit es als http://preferans.de/top aufgerufen werden kann .
Der Inhalt von my.module ist der folgende.
function my_menu() {
$items['top'] = array (
'title' => 'Top',
'description' => 'Top',
'page callback' => 'my_top_callback',
'access callback' => TRUE,
'file' => 'my.top.inc',
'file path' => drupal_get_path('module', 'my'),
'type' => MENU_CALLBACK,
);
return $items;
}
Der Inhalt von my.top.inc ist folgender.
function my_top_callback() {
return array (
'top_table' => array (
'#type' => 'markup',
'#markup' => generate_html_table_with_php(),
),
);
}
Mein Problem ist, dass ich nicht verstehe, wie man den CSS- und JavaScript-Code hinzufügt, so dass er für die / top- Seite verfügbar ist , aber nicht für andere Drupal-Pfade.
Ich sollte wahrscheinlich anrufen:
drupal_add_css('/demo_table_jui.css', 'file');
drupal_add_css('/smoothness/jquery-ui-1.8.4.custom.css', 'file');
drupal_add_js('/jquery.dataTables.min.js', 'file');
drupal_add_js('
$(document).ready(function() {
$("#rating").dataTable( {
"bJQueryUI": true,
"sPaginationType": "full_numbers"
});
', 'inline');
(Siehe den Kopfabschnitt meines ursprünglichen Nicht-Drupal-Skripts ).
Wie beschränke ich diese Anrufe auf die Seite / top und wo soll ich diese Anrufe durchführen? Soll ich sie in einen Haken stecken oder indem ich meinem Menü einige Eigenschaften hinzufüge?
'file path'
ist nicht erforderlich, wenn sich die Datei in dem Verzeichnis befindet, das das Modul enthält, das den Menürückruf definiert.