Такая проблема:
В следствии совсем недавнего изучения Drupal6 наткнулся на проблемку. Мне нужно сделать, что-то вроде теста и по плану я выбираю в вариант ответа и передаю его в скрипт. А дальше уже сама проблема: "как вернуть обработанную переменную в drupal и получить следующий вопрос?"
Вопросы хранятся в БД, работаю на дэнвере
Комментарии
Сложную задачу вы перед собой поставили..
может поможет:
http://api.drupal.ru/api/file/developer/topics/forms_api.html/6
http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6
Вроде бы такая простая задача для php и такая замута для drupal. Видимо, я еще недостаточно готов для cms. От задачи, которую на php я решу за пару минут у меня уже полтора дня гудит голова.
Спасибо за материалы, буду изучать
Я написал - "сложная", потому,что мне показалась... у вас еще небольшой опыт работы с Drupal..
А если знать, что и как делать... совсем не сложно-)
Поищите в гугле статьи по работе с Form API друпала...
Есть куча материалов с подробными разъяснениями и примерами..
Вот кстати и примеры:
http://drupal.org/project/examples
тогда поставлю вопрос попроще:
у меня на странице внедрена форма и по кнопке я передаю через submit значеник в файл. Что нужно написать в том файле, чтобы получить на какую-то страницу измененное значение и как это на странице получить?
ты же знаешь php?
достаточно неплохо, но меня больше волнует тот факт, что, как я понял, drupal блокирует $_POST, а мне нужно получить переменные из скрипта на ту же страницу
http://shvetsgroup.com/ru/blog/10-steps-to-drupal-forms
значит ссылки не читали, у гугла "drupal формы" не спрашивали...
variable_set
variable_get
на это натыкался, но не вникал, теперь понял, что это было мое упущение.
а тут проблема с использованием. не понимаю где прописывать, уж извините
Опишу в краце:
1.При помощи hook_menu регистрируем адрес, по которомц будет вызываться форма и функцию, которая генерирует форму(п.2).
можно просто в 'page callback' указать - 'drupal_get_form', а в 'page arguments' - имя функции, генерирующей форму(п.2)
2.Функция ИМЯ_МОДУЛЯ_имя_формы(&$form_state) должны возвращать массив элементов формы, "составленным" по Form API
3.Функция ИМЯ_МОДУЛЯ_имя_формы_submit($form,&$form_state) обрабатывает сабмит формы
в $form_state['values'] - находятся значения полей формы($form_state['values']['имя_поля'])
По необходимости в функции ИМЯ_МОДУЛЯ_имя_формы_validate($form,&$form_state) можно проверить возвращенные значения формы и если что-то не так - "вернуть" форму браузеру для исправления, с сообщением и указанием неправильно заполненного поля..
все..
создаете модуль
добавляете в него 3 функции
за основу для модуля можно взять пример отсюда:
http://drupal.org/project/examples
модуль form_example для нужной версии Друпал