Drupal 7のWebサイトをセットアップして、自分で作成したいくつかのカスタムブロックとメニューを用意しました。
DataTables jQueryプラグインを使用して、Drupal以外のPHPスクリプトでユーザー(一部は外部、つまりdrupalテーブルに格納されていない)をテーブルとして表示しています。
このスクリプトをDrupalメニューとして書き直して、http://preferans.de/topとして呼び出せるようにしたいと思います。
my.moduleの内容は次のとおりです。
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;
}
my.top.incの内容は次のとおりです。
function my_top_callback() {
return array (
'top_table' => array (
'#type' => 'markup',
'#markup' => generate_html_table_with_php(),
),
);
}
私の問題は、CSSとJavaScriptのコードを追加する方法がわからないため、/ topページでは使用できるが、他のDrupalパスでは使用できないことです。
私はおそらく電話する必要があります:
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');
(私の元の非Drupalスクリプトのヘッドセクションを参照してください)。
これらの呼び出しを/ topページに制限する方法と、これらの呼び出しをどこで実行する必要がありますか?それらをフックに入れるか、メニューにいくつかのプロパティを追加する必要がありますか?
'file path'
メニューコールバックを定義するモジュールを含むディレクトリ内にファイルがある場合は、必要ありません。