更新自定义模块后,不会创建新字段。 DRUPAL 7

时间:2017-09-12 12:36:02

标签: drupal drupal-7

我的网站上有自定义模块。我尝试为我的词汇表安装一个带有新字段的更新,但该字段不会出现。 hook_update:

function mymodule_update_7118()
{
    $field_name = 'field_newfield';

    if ( field_info_field( $field_name ) ) {
        return;
    }

    $field = array(
        'field_name' => $field_name,
        'type' => 'list_integer',
        'settings' => array(
                'allowed_values' => array(
                        'Yes' => 1,         //heard that adding a NO value may cause problems, although it doesn't work with a no value either.         
                ),
        ),
    );

    $field = field_create_field( $field );

    $instance = array(
        'field_name' => $field['field_name'],
        'entity_type' => 'taxonomy',
        'bundle' => 'vocab_name',
        'label' => 'Label',
         'widget' => array(
            'active' => 1,
            'module' => 'options',
            'settings' => array(),
            'type' => 'options_select',
            'weight' => '3',
        ),
    );      
    field_create_instance($instance);
}

日志包含内部化模块的多个记录,创建用于翻译此字段的字符串。此外,所有需要的表都在数据库中创建,但它们都是空的。

1 个答案:

答案 0 :(得分:0)

要创建新的自定义字段,您必须像自定义模块一样。这些步骤可以在https://drupal.stackexchange.com/questions/140517/how-to-create-new-field-type

找到

您可以从示例模块中找到优秀的field_example模块,它始终是第一个看的地方。示例模块可以从https://www.drupal.org/project/examples

下载