Как передавать php-переменные

Главные вкладки

Аватар пользователя kycaker kycaker 24 июня 2012 в 20:06

Такая проблема:
В следствии совсем недавнего изучения Drupal6 наткнулся на проблемку. Мне нужно сделать, что-то вроде теста и по плану я выбираю в вариант ответа и передаю его в скрипт. А дальше уже сама проблема: "как вернуть обработанную переменную в drupal и получить следующий вопрос?"
Вопросы хранятся в БД, работаю на дэнвере

Комментарии

Аватар пользователя kycaker kycaker 24 июня 2012 в 23:01

Вроде бы такая простая задача для php и такая замута для drupal. Видимо, я еще недостаточно готов для cms. От задачи, которую на php я решу за пару минут у меня уже полтора дня гудит голова.
Спасибо за материалы, буду изучать

Аватар пользователя Orion76 Orion76 24 июня 2012 в 23:28

Я написал - "сложная", потому,что мне показалась... у вас еще небольшой опыт работы с Drupal..
А если знать, что и как делать... совсем не сложно-)

Поищите в гугле статьи по работе с Form API друпала...
Есть куча материалов с подробными разъяснениями и примерами..

Вот кстати и примеры:
http://drupal.org/project/examples

Аватар пользователя kycaker kycaker 25 июня 2012 в 8:34

тогда поставлю вопрос попроще:

у меня на странице внедрена форма и по кнопке я передаю через submit значеник в файл. Что нужно написать в том файле, чтобы получить на какую-то страницу измененное значение и как это на странице получить?

Аватар пользователя kycaker kycaker 25 июня 2012 в 9:53

достаточно неплохо, но меня больше волнует тот факт, что, как я понял, drupal блокирует $_POST, а мне нужно получить переменные из скрипта на ту же страницу

Аватар пользователя kycaker kycaker 25 июня 2012 в 16:35

"orion76" wrote:
http://shvetsgroup.com/ru/blog/10-steps-to-drupal-forms
значит ссылки не читали, у гугла "drupal формы" не спрашивали...

на это натыкался, но не вникал, теперь понял, что это было мое упущение.

"aRpi" wrote:
variable_set
variable_get

а тут проблема с использованием. не понимаю где прописывать, уж извините Angel

Аватар пользователя Orion76 Orion76 25 июня 2012 в 17:11

Опишу в краце:
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 для нужной версии Друпал