xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Как при установке модуля создать словарь с полем

Опубликовано в

Пример создания словаря cities с полем field_custom_text и одним термином при установке модуля:

// modulename.install
 
/**
 * Implements hook_install().
 */
function modulename_install() {
  if (!taxonomy_vocabulary_machine_name_load('cities')) {
    // Create vocabulary
    $vocabulary = (object)array(
      'name' => 'Cities',
      'machine_name' => 'cities',
      'module' => 'modulename',
    );
    taxonomy_vocabulary_save($vocabulary);
 
    // Create field "field_custom_text"
    field_create_field(array(
      'field_name' => 'field_custom_text',
      'type' => 'text',
      'cardinality' => 1,
    ));
    field_create_instance(array(
      'field_name' => 'field_custom_text',
      'entity_type' => 'taxonomy_term',
      'bundle' => 'cities',
      'label' => t('Custom text'),
      'widget' => array(
        'type' => 'text_textfield',
      ),
    ));
 
    // Create term
    $term = (object)array(
      'vid' => $vocabulary->vid,
      'name' => 'My city',
      'field_custom_text' => array(
        LANGUAGE_NONE => array(
          array(
            'value' => 'some text',
          ),
        ),
      ),
    );
    taxonomy_term_save($term);
  }
}
 
/**
 * Implements hook_uninstall().
 */
function modulename_uninstall() {
  // Delete vocabulary
  if ($vocabulary = taxonomy_vocabulary_machine_name_load('cities')) {
    taxonomy_vocabulary_delete($vocabulary->vid);
  }
}
Написанное актуально для Drupal 7
Похожие записи

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании