Вы здесь

Как передать значение поля в форму создания ноды?

0

Добрый день!

Ребята подскажите пожалуйста как передать значение в поле формы создания ноды?
Использую модуль prepopulate , но не как не получается передать значения в поля отличные от title и body.

Версия Drupal: 
7.x
Категория: 
Form API
Вопрос задан 13.06.2016 - 12:03

Ответы

0
  1. Создаёте ссылку вида: http://example.com/node/add/page?value=test
  2. Дальше с помощью hook_form_alter() задаёте значение для поля.

Примеры:
http://drupal.stackexchange.com/questions/71838/how-do-i-pass-a-value-fr...
http://drupal.stackexchange.com/questions/109774/how-to-set-default-valu...

Код взял по одной из ссылок и быстро поправил. Поэтому за правильность работы не отвечаю.

function MODULENAME_form_alter(&$form, $form_state, $form_id) { //код нужно запихнуть в свой модуль
    if($form_id == 'local-affiliate-node-form'){ //id вашей формы.
        $form['field_name']['und']['#default_value'][0] = $_GET['value']; //задаём значение из урла.
    }
}

UPD: увидел, что вы используете модуль prepopulate. С ним не работал, но предполагю, что нужно использовать название поля, когда передаёте параметр в урле.
Например, /node/add/blog?edit[field_test]=test field
Названия полей можно смотреть /admin/structure/types/manage/тип_ноды/fields

Ответ дан 13.06.2016 - 12:49
Аватар пользователя shu
shu
178
-1

Инструментами разработчика смотрите атрибут name нужного поля и его передавайте.
Пример из оф. доки:
HTML поля:

<textarea id="edit-field-content-0-value" class="form-textarea resizable processed" name="field_content[0][value]" rows="10"
  cols="60"/>

Для него ссылка вида:

http://www.example.com/node/add/content?edit[field_content][0][value]=A long text string

Ответ дан 13.06.2016 - 13:15
<input type="text" maxlength="255" size="60" value="" name="field_test[und][0][value]" id="edit-field-test-und-0-value" class="text-full form-control form-text">
http://www.example.com/node/add/payment?edit[field_test][und][0][value]=значение

Но почему то в поле нечего не записывается:(
Все документы по этому модулю перечитал.

Комментарий оставлен 13.06.2016 - 18:46