доступ к полю формы для загрузки файла - PullRequest
0 голосов
/ 24 июня 2019

После загрузки файла изображения и продолжения с такими деталями, как имя и описание, у меня есть поле справочного термина таксономии, и мне нужно иметь элемент управления в этом поле, чтобы увидеть, существует ли таксономия или нет. Поэтому я думал, что при нажатии кнопки «Сохранить» скрипт должен запуститься и вернуть ошибку ... Однако моя проблема заключается в том, чтобы найти, где находится функция кнопки «Сохранить». Мое идеальное решение - загрузить изображение с таксономией, и каждый термин таксономии должен быть связан с одним изображением. Отношение 1 к 1.

Я пробовал file.module, File.inc, Form.inc, но бесполезно. у кого-нибудь есть решения?

1 Ответ

0 голосов
/ 25 июня 2019

Очень плохая практика, чтобы модифицировать основные или дополнительные модули, если у вас нет опыта друпалов.

Таким образом, вы можете использовать хуки для добавления / изменения элементов в форме, в частности hook_form_alter Тестировать его при отправке:

function MYMODULE_form_alter($form, &$form_state, $form_id){

 if($form_id == 'id_of_my_form'){ // if you don't know it var_dump($form_id) on your page
   $form['#submit'][]  = 'my_custom_submit_callback'; // its your own function executed after core/contrib functions on submit
 }
}

function my_custom_submit_callback($form, &$form_state){

 // test your values
 if($form_state['values']['my_field_name']){
   // Deal with value
 }else{
   form_set_error('my_field_name', "Taxonomy is missing");
 }
}

Примечание: очистить реестр кеша послепервое создание этих функций

...