Drupal 7 の Views 3 ヘルプ ファイルに従っていますが、モジュールを Views で表示できるようにするためにモジュールに他に何を追加する必要があるのか、少し行き詰っています。データベース。
もちろん、実際のデータベースにはもっと便利なフィールドがたくさんありますが、それを表示するのに苦労していたので、もっと複雑なことを試す前に、代わりにこのテスト データベースを「hello world」として作成しました。これがスキーマです。
database name = other
create table strings (
id int primary key auto_increment,
mystring varchar(50)
);
データベースを含めるための私のsettings.phpは次のとおりです。
<?php
// ...
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupal',
'username' => 'drupal_user',
'password' => 'my_other_pass',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
array (
'database' => 'other',
'username' => 'my_user',
'password' => 'my_pass',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
//...
?>
これは、mystrings のテーブル構造がどのように見えるかを Drupal に説明する test (有効になっている) という名前のカスタム モジュールの test.views.inc ファイルです。
<?php
//useful site explaining all of this: http://groups.drupal.org/node/17236
function test_views_data() {
$data = array(
'strings' => array(
'table' => array(
'group' => t('views test'),
'base' => array(
'field' => 'id',
'title' => t("I guess node"),
'help' => t("help for I guess node I guess"),
'weight' => -10,
'database' => 'others',
),
),
'id' => array(
'title' => t('id'),
/*'field' => array(
'handler' => 'views_handler_field_node',
'click sortable' => TRUE,
),*/
'relationship' => array(
'label' => t("node I think"),
'base' => 'node',
'base_field => 'id',
),
/*'argument' => array(
'handler' => 'view_handler_argument_node_nid',
'name field' => 'id for strings',
'numeric' => TRUE,
'validate type' => 'nid',
),*/
/*'filter' => array(
'handler' => 'views_handler_filter_numeric',
),*/
/*'sort' => array(
'handler' => 'views_handler_sort',
),*/
),
'mystring' => array(
'title' => t('mystring'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
),
),
);
return $data;
}
私のtest.moduleファイルは次のとおりです。
<?php
function test_help($section) {
switch($section) {
case "admin/help#test":
return "<p>hello from test</p>";
case "admin/modules#description":
return "hello from test inside the admin help thing";
}
}
function test_page() {
return "<p>hello from the actual test page</p>";
}
function test_views_api() {
return array('api' => 3.0);
}
現在の問題は次のとおりです。新しいビューを作成しようとすると、この情報や、データベースとテーブルの mystrings に関連する情報が表示されません。カスタムモジュールコード/ビューの使用法で私が間違っていることを誰か知っていますか? どんな助けでも大歓迎です!