Примеры программного создания полей в Drupal 7

Темы

Подсмотреть структуру доступных прототипов можно на странице сайта /devel/field/info при включенном модуле devel.

Создание поля с изображением в ноде

$myField_name = "my_new_field_name";
if(!field_info_field($myField_name)) { // check if the field already exists.
  $field = array(
    'field_name'    => $myField_name,
    'type'          => 'image',
  );
  field_create_field($field);
}
$field_instance = array(
  'field_name'    => $myField_name,
  'entity_type'   => 'node',
  'bundle'        => 'CONTENT_TYPE_NAME',
  'label'         => t('Select an image'),
  'description'   => t(''),
  'widget'        => array(
    'type'      => 'image_image',
    'weight'    => 10,
  ),
  'formatter'     => array(
    'label'     => t('label'),
    'format'    => 'image'
  ),
  'settings'      => array(
    'file_directory'        => 'photos', // save inside "public://photos"
    'max_filesize'          => '4M',
    'preview_image_style'   => 'thumbnail',
    'title_field'           => TRUE,
    'alt_field'             => FALSE,
  )
);
field_create_instance($field_instance);
drupal_set_message("Field created successfully!");

Пробую

Добавить комментарий

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
А не робот ли вы случайно?
2 + 5 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.