1

こんにちは、カスタム フィールドを使用してカスタム ノード タイプを作成すると、次のようなエラーが発生します。

未定義のインデックス: 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

4

1 に答える 1