Гравитация формирует предварительно выбранные поля выбора флажков - PullRequest
0 голосов
/ 25 марта 2020

Я использую формы Gravity с одним переключателем и одним полем Checkboxes, оба варианта имеют одинаковый выбор. Что мне нужно, это когда мой пользователь выбирает выбор с помощью радиокнопки, этот выбор автоматически выбирается в поле «Флажки». Ему не нужно выбирать его снова.

Я видел, что должен использовать какой-то фильтр, например, приведенный ниже, но мне не удается настроить его, чтобы сделать то, что мне нужно.

Если кто-то может мне помочь, он спасет мне жизнь.

<?php

# Make sure to replace {id} with your form's id
add_filter( 'gform_pre_render_{id}', 'my_populate_checkbox' );

function my_populate_checkbox( $form ) {

/**
* Loop through form fields
*
* Note we are using the `$field` array as a direct reference using `&`. 
* This means that changing its value will within the loop will 
* change the corresponding `$form` array item
*/
foreach( $form['fields'] as &$field ) {

# Make sure to change `1` to the ID of the checkbox field that you want to pre-populate
if( 1 === $field->id ) {

  /**
   * Loop through the choices for this checkbox
   *
   * Note again that we are passing `$choice` by reference in order to change the 
   * corresponding array item within the `$field` array
   */
  foreach( $field->choices as &$choice ) {

    /**
     * If this choice has a value of 'red' or 'blue', then make sure the checkbox is pre- 
   checked
     * by setting the `isSelected` parameter to `true`
     */

    if( 'red' === $choice['value'] || 'blue' === $choice['value'] ) {
      $choice['isSelected'] = true;
    }
   } # end foreach: $field->choices
   } # end if: $field->id equals 1
   } # end foreach: $form['fields']

    # return the altered `$form` array to Gravity Forms
   return $form;

    } # end: my_populate_checkbox

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Рад, что работал на тебя, Жан.

Для других людей, которым необходимо это сделать, мы написали полное пошаговое руководство по этому процессу вместе с простым в использовании сценарием использования.

Как установить флажки (и другие поля на основе выбора) Условно

Вот краткий курс sh:

  1. Создание формы сопоставления

    Создание формы, которая будет использоваться для отслеживания того, какие флажки должны быть отмечены при выборе данного параметра (в другом поле).

  2. Отправить формулярные заявки

    Теперь вы пройдете go и выполните ввод данных. Выберите параметр триггера, а затем установите каждый флажок, который должен быть отмечен для этого параметра.

  3. Дублируйте форму отображения

    Далее вы создайте новую форму на основе вашей формы отображения. Это форма, с которой ваши пользователи будут взаимодействовать. Форма сопоставления только для вас.

  4. Карта ваших полей

    Наконец, используйте Заполнить что-нибудь для динамической проверки ( т.е. заполните значение) вашего поля «Флажок» на основе выбранной опции и флажков, отмеченных для этой опции в форме сопоставления.

0 голосов
/ 29 марта 2020

Спасибо Gravity Wiz команде за ответы на мой вопрос. Вот видео, объясняющее, как это сделать: https://www.loom.com/share/f20184e287be49e89116d4c641c77c11

Идея проста: 1 - у вас должны быть установлены Gravity Perks: Заполните все, что угодно 2 - у вас есть карта 2 формы: одна с данными и та, которая получит данные (эта содержала вашу форму) 3 - эти 2 формы должны иметь одинаковые поля 4 - в форме отображения вы должны создавать записи, соответствующие вашей потребности

Это немного сложно, но отлично работает для меня

...