Семантическая ошибка программирования модуля drupal 6
Я должен написать простой модуль (не использовать веб-формы), который создает форму для получения данных. Но мои элементы моей формы не показали. Я использую Drupal 6.0 Doc, но я не знаю, что не так!
это ссылка на мой исходный код.
Я получаю сообщение об ошибке msg: warning: отсутствует аргумент 2 для registration_register_form() в /var/www/drupal/sites/all/modules/registeration/registration.module в строке 29.
Но я пишу правильные аргументы.
1 ответ
Вам не нужно передавать $form
а также $form_state
в большинстве * форм.
Попробуй это:
function registration_register_form(){
вместо:
функция registration_register_form($form, &$form_state){
Фон: drupal_get_form
передает любые заданные параметры registration_register_form()
но в registration_all()
Вы не передаете никаких дополнительных аргументов. (Просто обратный вызов функции формы).
Обратите внимание, что вам все равно нужно пройти $form
а также $form_state
в функции отправки как registration_register_form_submit()
использует данные $ form_state.
* в большинстве случаев: если ваша форма является многошаговой, и форма меняется на $form_state
значения переменной, это хороший вариант использования, в котором вам нужно передать $ form и $ form_state registration_register_form()
Обновление После проверки вашего кода я обнаружил много ошибок. Смотрите новую редакцию: http://pastebin.com/VNa3veFR (не в списке). Я исправил большинство проблем, которые мог заметить. Смотрите встроенные комментарии и блоки комментариев над именами функций.