У вас есть запрограммированная форма в друпал, и вы хотите добавить в неё антиспам поле из модуля CAPTCHA. Смотрим как это сделать.
Для начала модуль СAPTCHA надо скачать и установить (активировать на странице доступных модулей сайта — /admin/build/modules). Потом в код вашей пользовательской формы нужно добавить код поля CAPTCHA. Нужная функция есть прямо в модуле CAPTCHA — captcha_elements(). Она возвращает элемент формы с именем — ‘captcha’. Вот как это может выглядеть на примере функции, возвращающей набор полей некоторой пользовательской формы.
Обычное положение проверочного кода — перед кнопкой отправки данных.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function mymodule_callback_form() { //вставка поля кепча $form = captcha_elements(); //зададим нужный тип проверочного поля $form['captcha']['#captcha_type'] = 'image_captcha/Image'; //положение поля кепча - в самом низу формы $form['captcha']['#weight'] = 100; //тут ещё какие то поля формы $form['xxx'] = array(...); ... //а последним обычно идет - submit, отправка данных $form['submit'] = array( '#type' => 'submit', '#value' => 'Отправить', //вес ещё больше чем у кепча - потому она будет завершать форму '#weight' => 101, ); //форма готова return $form; } |
Для пущей красоты можно добавить тест на то, что модуль кепча установлен. Как говориться, добавить соль, сахар по вкусу.