Форма отправки сообщений с дополнительной дозагрузкой части формы (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;?>

[Решено] Вызов формы по другому пути

Прислано: 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-го Друпала. Все на английском, но смотреть было интересно - некоторые моменты понятны, а что-то нуждается в переводе. Материал связанный с роликом можно посмотреть тут

RSS-материал

Новое на сайте

Ссылки партнёров