データを操作するために Drupal が必要な場合は、Drupal の方法で行う必要はありません。モジュールも開発しました。データベースにアクセスし、そこからデータを表示し、承認されたユーザーがデータを更新でき、私のモジュールがそれを保存します。ただし、これらはノードではありません。コンテンツで実行するためにノードで実行されるいくつかのフックが必要でない限り (たとえば)、PHP の知識を使用してページのコンテンツを作成してください。
hook_menu を使用して、ページを表示するパスを定義します。たとえば、私のコード (detail_pages モジュール) では、クエリは example.com/strain/3/4 のようなパスで 2 つのパラメーターを取得します。次のように定義し、detail_page($arg1, $ でデータベースへの php 呼び出しを使用しました。 arg2) 関数定義。
function detail_pages_menu() {
$items = array();
$items['strain/%/%'] = array(
'title' => t('Strain Detail Page'),
//'page callback' => 'strain_form',
'page callback' => 'detail_page',//'drupal_get_form',
//'page arguments' => array('strain_detail_form'),
'page arguments' => array(1,2),
'access callback' => TRUE,
'access arguments' => array('access content'),
'description' => t('Detail Page'),
'type' => MENU_NORMAL_ITEM,
);
....
特定の質問に答えるには
コンテンツ タイプを定義する必要がありますか?
いいえ。ページ レンダー アレイを使用したり、PHP のページに直接 html を追加したりすることもできます。
コンテンツ タイプを使用せず、アクセス許可を手動で制御するのは簡単ですか?
はい。私が書いた上記の例では、この行はパーミッション用です: 'access callback' => TRUE これにより、全員が閲覧できます。TRUE の代わりに関数を割り当てて、ユーザーがそのページを表示する権限があるかどうかを表すブール値を返すことができます。
コンテンツ タイプを定義する必要があるとします。私のデータベースには 5 つのテーブルがあります。5 つの異なるコンテンツ タイプを定義する必要がありますか?
特に優れたデータベース構造が必要な場合は、ノードの使用とコンテンツ タイプの定義を避けたい場合があります。Drupal は、ノード ID によって論理的にキー付けされた列となるテーブルを作成します。だから、あなたは多くの不要なテーブルを持っています...