Программно делаю примитивную форму в своем модуле:
<?php
function my_first_form($form, &$form_state){
$form=array();
$form['name1'] = array(
'#type' => 'textfield',
'#title' => t('Название поля'),
'#default_value' => t('Текст по умолчанию'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
function
main_function() {
$form = drupal_get_form('my_first_form'); //получаем поля формы
$form = drupal_render($form); //рендерим форму
return $form;
}
?>
Не могу сообразить, как в свою собственную форму добавить уже существующее поле (ссылка на термин) и настроить его виджет (автозаполнение).
Комментарии
никак.
Вам во первых необходимо создать поле с автозаполнением по термину.
Потом реализовать в hook_submit привязку tid(s)
Вам надо просто добавить на форму элемент '#type'=>'textfield'
и добавить к нему "функционал" автокомплита.
Тут примеры, в т.ч. и для taxonomy : https://www.drupal.org/node/854216
FAPI в помощь https://www.drupal.org/docs/7/api/form-api
типы элементов формы определяются через https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...
Спасибо ссылке от Orion76, разобрался, все получилось!
Если вкратце, добавляем текстовое поле с автозаполнением в форму, а в качестве источника указываем имя поля, которое является "Ссылкой на термин", например:
'#type' => 'textfield',
'#title' => t('Смартфон 1'),
'#autocomplete_path' => 'taxonomy/autocomplete/field_smart_one',
'#maxlength' => 30,
);
Проверить, можно ли указывать это имя поля можно в браузере: http://ВашСайт/taxonomy/autocomplete/ИмяПоля