Drupal 7 - 以编程方式添加特定分类的文本字段

时间:2016-04-23 14:05:29

标签: drupal drupal-7

下面的代码在所有分类添加表单上添加文本字段,但我想添加文本字段特定的分类“颜色”

  if(!db_table_exists('field_data_field_moi_uc_oid')){
      $field = array(
        'field_name' => 'field_moi_uc_oid',
        'type' => 'text',
        'label' => t('Relates to option')
      );
      field_create_field($field);
    }
    // Attach the field to our taxonomy entity
    $instance = array(
      'field_name' => 'field_moi_uc_oid',
      'entity_type' => 'taxonomy_term',
      'bundle' => 'variant',
      'label' => t('Relates to option'),
      'description' => t('This is the description'),
      'required' => true,
      'widget' => array(
        'type' => 'text_textfield',
        'settings'=> array(
          'max_width'=>80,
        )
      ),
    );
    field_create_instance($instance);

1 个答案:

答案 0 :(得分:1)

Drupal中的分类法按词汇表分组。它可以是(颜色,标签......等) 然后每个Taxonomy词汇表都有术语(实际数据)。

上面的代码是在名为variant

的SINGLE词汇表中创建一个字段
$instance = array(
  'field_name' => 'field_moi_uc_oid',
  'entity_type' => 'taxonomy_term',
  // This is the vocabulary
  'bundle' => 'variant',
  'label' => t('Relates to option'),
  'description' => t('This is the description'),
  'required' => true,
  'widget' => array(
    'type' => 'text_textfield',
    'settings'=> array(
      'max_width'=>80,
    )
  ),
);
field_create_instance($instance);

要使此代码段为颜色词汇表创建一个字段,只需更改此行

即可
  'bundle' => 'color',
记得,我只能根据你的说法看到答案:)