AHAH, добавление новых полей.

Прислано: jeehadina

пн, 15/06/2009 - 03:47

Другие статьи по теме:

Уважаемые форумчане, есть необходимость создания типа материала с возможностью добавлять AHAH'ом новые поля.

Тип материала "Семья". В семью нужно добавлять членов (их имена), а их может быть от одного до бесконечности.
В принципе задача и способ решения ясны. poll.module в ядре друпала имеет подобный функционал.
Но в целях повышения квалификации :) хотелось бы поизучать исходный код модулей с подобным функционалом.
ССК не интересует :)

Заранее благодарен!

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Ильич Рамирес Санчес в пн, 15/06/2009 - 06:18.

"jeehadina" написал(а):

. poll.module в ядре друпала имеет подобный функционал.

а тупо подсмотреть как это в poll сделано?

сам кстати не пользоался еще функционалом 6ки. но в одном проекте у меня динамически строящихся форм валом.

Как примитивный прием вот - функция которая дергается через JSON для вытягивания компонента формы с доп. html кодом

<?php
Drupal
.insti_attach.appendtoform = function (data){
    
Drupal.insti_attach.autocomplete_item.input.value '';
    
itemid '#insti-attach-node-list-autocomplete-' data.nid;
    if($(
itemid).get(0) ){ // такой уже есть..
    
}else $('div.insti-attach-node-list-autocomplete').prepend(
        
'<div class="insti-attach-node-list-autocomplete-item" id="insti-attach-node-list-autocomplete-' 
        
data.nid '">' data.html '</div>'
    
);
}
?>

а потом когда оператор выбрал заведение оно добавляется в фомочку. происходит это при вызове
<?php
$.getJSON(Drupal.insti_attach.nodeinfo_url '/' node.autocompleteValueDrupal.insti_attach.appendtoform);
?>

Drupal.insti_attach.nodeinfo_url - заранее заданные путь до моего отработчика меню который выдает JSON - массив с описанием компонента.

Делалось для особо извращенного autocomplete, drupal 5.


Опубликовано jeehadina в пн, 15/06/2009 - 06:48.

спасибо за ответ.

да, конечено poll.module я изучил от и до. хотелось бы еще примеров со здравым смыслом.
не хочется выдумать велосипед заново. почему и подхожу к подготовке серьезно.

з.ы. тема еще на закрыта :)


Опубликовано Loasty в пн, 15/06/2009 - 07:10.

Если я правильно понял нужно просто создавать новые поля. Обычно используется такая конструкция:
<input type="text" name="family[]" />
На стороне сервера обрбатывается массив

<?php
foreach ($_POST['family'][] as $member) {
  echo 
$member;
}
?>


Опубликовано beerman в пн, 15/06/2009 - 12:19.

попробуйте сохранить форму изначально допустив ошибку. потом еще раз сохранить.
результат вас поразит


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

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