Создание модуля с нестандартными полями

Главные вкладки

Аватар пользователя ravnur ravnur 26 января 2009 в 21:38

Как можно добавить новое поле при написании своего модуля, если поле не является одним из стандартного набора (картинка, комбо, поля ввода кнопка и т.д.)? Для примера это может google map или что-то получаемое через API какого-то ресурса.

Комментарии

Аватар пользователя ravnur ravnur 27 января 2009 в 0:59

ну как же "также".

к примеру

$form['title'] = array(
    '#type' => 'textfield',
    '#title' => check_plain($type->title_label),
    '#size' => 60,
    '#maxlength' => 128,
    '#required' => TRUE,
    '#default_value' => $node->title
  );

а как будет выглядеть, если тип другой? как мне отобразить этот элемент? буду признателен за небольшой, но поучительный пример

Аватар пользователя ravnur ravnur 27 января 2009 в 1:46

сам объект.
< div id="obj" style="width: 300px; height: 300px" > < / div > (пробелы, разумеется, лишние Lol

в div данные читаются из js.

Аватар пользователя kyky kyky 27 января 2009 в 8:41
'#value' => '<div id="obj" style="width: 300px; height: 300px" ></div>'

это топорный метод -- массив формы может, но не должен содержать html код

используйте http://api.drupal.org/api/function/hook_elements/6
определить свой элемент очень просто и что самое важное -- его смогут использовать другие разработчики в своих модулях.
Друпал имеет на борту свои собственные элементы, например -- закачка картинок и аватар (кажется так и называется -- image)
У вас гуглмапс? Будет очень хорошо вы свой элемент оформите в виде отдельного модуля и выложете для сообщества.