こんにちは、カスタム フィールドを使用してカスタム ノード タイプを作成すると、次のようなエラーが発生します。
未定義のインデックス: locale_field_entity_form_submit() の field_block_pre_login_body (D:\xampp\htdocs\projects\foo\modules\locale\locale.module の 438 行目)。
カスタム フィールドとカスタム ノード タイプは、hook_install によって作成されます。
function custom_module_install() {
$nodeType = new stdClass();
$nodeType->type = "foo_block";
$nodeType->orig_type = "foo_block";
$nodeType->base = "node_content";
$nodeType->name = "FooBlock";
$nodeType->description = $t("This is a Custom Content Type for Defining Custom blocks for Pre and Post Login State Functionality on blocks");
$nodeType->help = "Use This Content Type only if the block will have a Login State requirements";
$nodeType->custom = TRUE;
$nodeType->has_title = TRUE;
$nodeType->title_label = "Custom Block";
$nodeType->locked = FALSE;
$nodeType->disabled = FALSE;
node_type_save($nodeType);
if (!field_info_field('field_block_pre_login_body')) {
$field = array(
'field_name' => $t('field_block_pre_login_body'),
'type' => 'text_long',
);
field_create_field($field);
// Create the field instance on the bundle.
$instance = array(
'field_name' => $t('field_block_pre_login_body'),
'label' => $t('Pre-Login Body'),
'bundle' => 'matterhorn_block',
'entity_type' => 'node',
'required' => FALSE,
'widget' => array('type' => 'text_textarea'),
'settings' => array('text_processing' => 1),
'format' => 'filter_html',
);
field_create_instance($instance);
}
}
カスタム モジュールを Drupal にインストールし、作成したカスタム ノード タイプを介してコンテンツを追加した後、locale.module は、そのコンテンツ タイプで作成されたコンテンツを作成または更新した後にエラーを表示します。これを修正しますか?ありがとう!
** 編集 **
注: これは drupal モジュールです。メソッドfield_block_pre_login_body
を呼び出すとdrupal-field-api がこれでどのように機能するかについて、より詳細な説明が必要です。field_create_field