я новичок в drupal, у меня есть пользовательская кнопка, добавленная на одну страницу редактирования типа контента, когда я нажимаю на эту кнопку, я хочу вызвать функцию, но кажется, что она не вызывает функцию, когда я вижу консоль, я вижу drupa ajax ошибка возникает всякий раз, когда я нажимаю кнопку. пожалуйста, дайте мне знать, что я делаю неправильно здесь.
функция mymodule_form_node_program_edit_form_alter(&$form, FormStateInterface $form_state) {
$ форма ['применить'] = массив (
'#type' => 'отправить',
'#value' => t('Применить'),
'#вес' => '9',
'#executes_submit_callback' => ЛОЖЬ,
'#limit_validation_errors' => массив(),
'#ajax' => массив(
'обратный вызов' => 'button_test_callback',
),
);
}
функция button_test_callback (массив и форма $, \Drupal\Core\Form\FormStateInterface $form_state) {
echo '<script>оповещение("Добро пожаловать")</script>';
вернуть $ форму;
}
ошибка, которую я получаю:
Непойманный
Drupal.AjaxError {сообщение: "\nПроизошла ошибка HTTP AJAX.\nКод результата HTTP: 50***\Core\DrupalKernel->handle(Object) (строка: 19)\n", name: "AjaxError"}
сообщение: "\nПроизошла ошибка HTTP AJAX.\nКод результата HTTP: 500\nСледует информация об отладке.\nПуть: /node/680911/edit?destination=/admin/content&ajax_form=1\nStatusText: error\nResponseText: Веб-сайт обнаружил непредвиденная ошибка. Повторите попытку позже. Symfony\Component\HttpKernel\Exception\HttpException: указанный обратный вызов #ajax пуст или не может быть вызван.в Drupal\Core\Form\FormAjaxResponseBuilder->buildResponse() (строка 67 core/lib/Drupal/Core/Form/FormAjaxResponseBuilder.php). Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber->onException(Object, 'kernel.exception', Object)\ncall_user_func(Array, Object, 'kernel.exception', Object) (строка: 111)\nDrupal\Component\EventDispatcher\ ContainerAwareEventDispatcher->dispatch('kernel.exception', Object) (строка: 227)\nSymfony\Component\HttpKernel\HttpKernel->handleException(Object, Object, 1) (строка: 79)\nSymfony\Component\HttpKernel\HttpKernel- >handle(Object, 1, 1) (строка: 67)\nDrupal\simple_oauth\HttpMiddleware\BasicAuthSwap->handle(Object, 1, 1) (строка: 57)\nDrupal\Core\StackMiddleware\Session->handle(Object , 1, 1) (Строка: 47)\nDrupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Строка: 106)\nDrupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1 ) (Строка: 85)\nDrupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Строка: 49)\nAsm89\Stack\Cors->handle(Object, 1, 1) (Строка: 50) \nDrupal\ban\BanMiddleware->handle(Object, 1, 1) (строка: 47)\nDrupal\Core\StackMiddleware\ReverseProxyMiddleware->han dle(Object, 1, 1) (строка: 52)\nDrupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (строка: 23)\nStack\StackedHttpKernel->handle(Object, 1, 1) (Строка: 708)\nDrupal\Core\DrupalKernel->handle(Object) (Строка: 19)\n"