Форма отправки сообщений с дополнительной дозагрузкой части формы (ajax)
Прислано: Mezolick
вт, 10/01/2012 - 05:10
Подскажите пожалуйста, в форму обратной связи ставлю галочку при клике на которую, появляются 2 дополнительных поля, телефон и время обратного звонка.
функция обработки представлена ниже.
если форму не отправить, а перейти по другой ссылке сайта выдается ошибка о том что поля не заполнены в чем может быть дело?


<?phpfunction feedback_ahah($form, &$form_state)
{
$form_state = array('storage' => NULL, 'submitted' => FALSE);
$form_build_id = $_POST['form_build_id'];
$form = form_get_cache($form_build_id, $form_state);
$args = $form['#parameters'];
$form_id = array_shift($args);
$form_state['post'] = $form['#post'] = $_POST;?>- Mezolick's blog
- Для комментирования войдите или зарегистрируйтесь
[Решено] Вызов формы по другому пути
Прислано: semasping
чт, 21/07/2011 - 20:02
Возможно ли в Drupal`e вызвать стандартную форму по нужному мне адресу?
Как то так:
Есть свой модуль. В нем определяю нужный мне путь. И в соответствующей функции обрабатывающей данный путь вызываю нужный мне $form_id.
Необходимо это в следующем случае:
Есть страницы построенные через views для отображения (например списка пользователей). Эта страница подсвечивается в меню (Пункт "Управление пользователями") и имеет путь: "/manage_users/"
Далее необходимо чтоб создание пользователя тоже адекватно подсвечивалось в меню (В пункте "управление пользователями"), и соответственно есть желание стандартную форму добавления пользователя пустить по пути "/manage_users/add/"
Есть ли какие идеи в каком направлении копать api drupala?
Может кто статейку встречал на данную тему ?
Решение:
<?php
function mymodule_page_add_user()
{
drupal_set_title(t('Add user'));
return drupal_get_form('user_register_form');
}
?>Как создать форму типа contact но со своими полями на отдельной странице и в блоке?
Прислано: igorek
пн, 23/08/2010 - 13:12
Братья по разуму, поделитесь как кто делает свою форму типа cotact. Как добавить свои поля. И вывести её в блоке?
Типа:
<form> <input type="text" value="Ваш emil"> <input type="submit"> </form>
Правильно обрезать форму ноды в пользовательском профиле
Прислано: orangeudav
вт, 24/11/2009 - 15:21
Добрый день. Вопрос наверняка старый, как говно мамонта, но хочу решить его ручками.
Использую CCK+Content Profile. Делаю дополнительный страницы в профиле пользователя. Я считаю что пользователю совершенно не нужно показывать пункты Revision information, Authoring information и Publishing options ни на одной странице внутри его профиля. Как их убрать?
0) CSS хаки не предлагать, это грязный способ.
1) Можно перехватывать _form_alter и делать
<?php
unset($form['revision_information']);
unset($form['options']);
unset($form['author']);
?>но тогда форма не проходит валидацию.
2) Далее появилась мысль запомнить где-нибудь куски $form['revision_information'], $form['options'] и $form['author'] и подставлять их в момент обработки ответа от формы, но была отброшена как бредовая.
3) Другой вариант - обработчик самостоятельно придумывает отброшенные куски формы. Там-то и придумывать не надо, только дату таймстэмпа и пользователя от которого пришла форма. API говорит нам что должна вызываться функция моймодуль_validate в которой и можно корежить форму, но у меня она ни разу не вызвалась хоть сто раз ноды пересохрани.
Какие еще хуки можно повесить чтобы перехватить пришедшую форму?
Я вообще в правильную сторону думаю?
Элемент формы
Прислано: sebr
пн, 23/11/2009 - 11:52
Подскажите пожалуйста, как можно указать длину поля для ввода. Указываю в элементе формы '#size' => 10, но форма по-прежнему вытягивается на весь блок.
Не всплывающее поле формы [решено]
Прислано: PVasili
пн, 12/10/2009 - 14:43
Пишу для формы редактирования материала в своём модуле:
<?php mumodule_form_alter (&$form, $form_state, $form_id) {
global $user;
if ($user->uid==1) {
drupal_set_message ($form['author']['#weight']);
$form['author']['#weight'] = -100;
$form['author']['#title'] = 'test';
drupal_set_message ($form['author']['#weight']);
}
return $form;
}
?>Для user1 и файлдсета Автор матрериала заголовок меняется, а не всплывает, хотя weight (20 -> -100) :(
Что мешает (или не хватает)?
Многостраничные формы в Друпал 5
Прислано: mvd3012
пт, 08/05/2009 - 16:33
Добрый день.
Столкнулся вот с каким препятствием. Мне необходимо сделать многостраничный опрос, отвечая на вопрос которого, пользователь получает определенное колличество баллов, а в конце видит результат (Сумму баллов и оценку, заранее занесенную в базу). Все, что необходимо для создания новой ноды опроса и внесения в базу данных уже написано. Не выходит только создать многостраничную форму вывода на страницу. Написанием модуля занимаюсь с чтением такой книги, как "CMS Drupal. Руководство по разработке системы управления сайтом" (Джон К. Вандюк, Мэтт Вестгейт, стр 178-180).
Ниже привожу код. Возможно для типов контента есть какие либо особенности? Помогите пожалуйста.
function psquiz_question_viewform($node, $questions) { $form['#multistep'] = TRUE; if (isset($form_values)) { $step = $form_values['step']; } else { $step = 1; $form_values['step'] = $step; } $form['nres'] = array( '#type' => 'hidden', '#value' => $node->nres ); $form['step'] = array( '#type' => 'hidden', '#value' => $step+1 ); $form['question'] = array( '#type' => 'fieldset', '#title' => t('Question @number of @summary', array('@number' => $questions[$form_values['step']]['qnid'], '@summary' => $node->nres)), '#description' => $questions[$form_values['step']]['question'] ); for ($i=0; $i++<10;) { $answers[$i] = 'Answer '.$i; } $form['question']['answer'] = array( '#type' => 'radios', '#options' => $answers, '#default_value' => $edit['answer']
Анонс нового модуля для построения форм от Lullabot
Прислано: Leonard
чт, 04/12/2008 - 08:15
Lullabot.com 3 декабря анонсировал новый модуль для построения форм Form Builder - можно сказать практически революция. Раньше (да и теперь тоже так, но будем смотреть в будущее), для того, чтобы редактировать форму заполнения и создания ноды, Вам нужно было заходить в кучу разных мест - в настройки CCK, настройки терминов словаря таксономии и так далее - так вот, возможно всё это будет уже не нужно, Lullabot готовит модуль, который может полностью заменить функционал CCK, Webform, Profile и так далее - и что более важно, все настройки будут собраны в одном единственном месте.
Пока есть только демо, вот по этому адресу http://quicksketch.org/demos/form-builder-example, рабочего модуля ещё нет, но будем ждать. Возмрожно, как раз один из тех модулей, которые в будущем сформируют новое лицо Друпала.
Кому интересно, на эту тему я написал также у себя в блоге.
Виктор.
Введение в API форм в Drupal 6
Прислано: sadmin
вт, 09/09/2008 - 10:02
30-минутный скринкаст содержит описание работы с API форм для 6-го Друпала. Все на английском, но смотреть было интересно - некоторые моменты понятны, а что-то нуждается в переводе. Материал связанный с роликом можно посмотреть тут