カスタム モジュールによって作成されたフィールドを自動的にグループ化しようとしていますが、うまくいきません。私の期待は、フィールド グループが作成され、既存のフィールドがそれに割り当てられることです。かなり標準的なように見えるので、フィールド グループ モジュールを使用しています。
http://drupal.org/node/1606758でアドバイスされているように、ctools 一括エクスポートを使用してコードを生成しました。次のコードをモジュールに移動しました。これが機能しない理由がわからない:
- 私
hook_field_group_info()
の とhook_ctools_plugin_api()
両方とも攻撃されています。追加したデバッグ フラグがログに記録されています。 - 指定されたフィールドの名前は正しく、データベースに存在します。
私は何を間違っているのでしょうか?
========== Ctools Bulk Exporter から: ===========
これを nmc_directory.info に配置します
name = nmc_directory export module
description = Export objects from CTools
dependencies[] = field_group
package = Chaos tool suite
core = 7.x
これを nmc_directory.module に配置します
<?php
/**
* Implements hook_ctools_plugin_api().
*/
function nmc_directory_ctools_plugin_api($module, $api) {
if ($module == 'field_group' && $api == 'field_group') {
return array('version' => 1);
}
}
これを nmc_directory.field_group.inc に配置します。
<?php
/**
* Implements hook_field_group_info().
*/
function nmc_directory_field_group_info() {
$field_groups = array();
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_dir_phys_consumer_info|node|dir_physicians|form';
$field_group->group_name = 'group_dir_phys_consumer_info';
$field_group->entity_type = 'node';
$field_group->bundle = 'dir_physicians';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Online Medical Providers Directory: Website (Consumer Information)',
'weight' => '0',
'children' => array(
0 => 'dir_phys_gender',
1 => 'dir_phys_category',
2 => 'dir_phys_title',
3 => 'dir_phys_fname',
4 => 'dir_phys_lname',
5 => 'dir_phys_suffix',
6 => 'dir_phys_medfield_1',
7 => 'dir_phys_medfield_2',
8 => 'dir_phys_phone_public',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Online Medical Providers Directory: Website (Consumer Information)',
'instance_settings' => array(
'required_fields' => 1,
'classes' => '',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_dir_phys_consumer_info|node|dir_physicians|form'] = $field_group;
return $field_groups;
}