✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Täydellinen opas: Kenttien täyttäminen dynaamisesti painovoimamuodoissa

13

Yksinkertaisten tai monimutkaisten muotojen rakentaminen Gravity Formsissa on helppoa ja nopeaa. Yksi Gravity Formsin toiminnoista on se, että voit ehdollisesti esivalita tai täyttää lomakkeen kenttiä. Tästä on hyötyä, kun sinulla on sama lomake useilla yhteystietosivuilla jokaisessa osastossa ja haluat esivalita vastaavan osaston lomakkeesta. Tai olet upottamassa pyyntölomaketta tuote- tai palvelusivuille ja haluat automaattisesti esitäytä tiedot nykyisestä tuotteesta tai palvelusta jokaisessa lähetyksessä.

Voit dynaamisesti esivalita tai esitäytä kenttiä useilla tavoilla, ja voit myös dynaamisesti korvata mahdollisia vaihtoehtoja avattavassa valikossa, valintanappi- tai valintaruuturyhmässä. Dynaamisesti täyttämäsi kenttä voi olla näkyvä kenttä, jota käyttäjä voi muokata, tai se voidaan reitittää piilotettuun kenttään, jotta lomakelähetysten lukija saa tärkeitä tietoja.

Neljä tapaa täyttää kentät dynaamisesti

Tässä oppaassa tarkastellaan neljää tapaa täyttää kentät dynaamisesti Gravity Forms -lomakkeessa. Kolme niistä voit tehdä koskematta mihinkään koodiin! Mutta jos haluat dynaamisesti muokata mahdollisia valintoja valintanappiryhmässä tai valintaruuduissa, sinun on kirjoitettava PHP-koodi. Katsomme kuinka se tehdään aivan lopussa.

Voit täyttää kenttiä dynaamisesti seuraavilla tavoilla:

  • Lisätietojen lisääminen URL-osoitteeseen.
  • Anna lisätietoa Gravity Formsin upotuksen lyhytkoodiin.
  • Lisätietojen määrittäminen Gravity Forms Blockiin (jos käytät WordPressiä Gutenbergin kanssa).
  • Suodattimien käyttö PHP-koodilla.

Mutta ensin meidän täytyy käydä läpi kuinka aktivoida kentän dynaaminen populaatio.

Aktivoidaan kenttä dynaamisen populaation sallimiseksi

Ensimmäinen vaihe riippumatta siitä, mitä menetelmää käytät kentän täyttämiseen, on aktivoida tämä itse kentässä.

Lomakkeen muokkauksessa laajenna kenttä ja "Lisäasetukset"-välilehdeltä löydät valintaruudun "Salli kentän täyttäminen dynaamisesti". Valitse tämä pois, niin näkyviin tulee uusi tekstisyöte, jonka avulla voit määrittää parametrin nimen. Tämä voi olla mitä haluat, mutta sen tulee olla ainutlaatuinen ja ilman välilyöntejä.

Täydellinen opas: Kenttien täyttäminen dynaamisesti painovoimamuodoissa

Tallenna lomake, niin voit päättää, mitä menetelmää haluat käyttää sen täyttämiseen.

Täytetään dynaamisesti URL-parametreista

Voit liittää GET-parametrit linkkiin sivulle, joka upottaa lomakkeen, esimerkiksi jos linkki on toisen tekstin sisällä tai on mukautettu linkki WordPress-valikoissa.

Lisää vain kyselymuuttujat avainarvopareihin siten, että parametrin nimi avaimena ja niiden arvo sellaisena kuin haluat niiden arvon olevan. On mahdollista lisätä useita avainarvopareja, jos haluat täyttää useita kenttiä lomakkeeseen. Erottele kukin pari "&"-merkillä.

Olettaen, että lomakkeesi on tällä sivulla: " https://example.com/contact-me/" ja parametrisi nimi on awp_populate_me, voit täyttää kentän käyttämällä tätä URL-osoitetta: " https://example.com/contact-me/?awp_populate_me=Hello".

Muista, että URL-osoitteiden on oltava oikein koodattuja. Et voi esimerkiksi lisätä välilyöntejä tai erikoismerkkejä suoraan parametrin arvoksi. Tarjoaa "Hei maailma!" kuin arvo olisi " Hello%20world%21". On olemassa monia verkkotyökaluja URL-osoitteiden koodaamiseen, jos haluat edetä tällä tavalla.

Täytetään dynaamisesti lyhytkoodista

Kaikki lomakkeet lisätään lyhytkoodin kautta. Voit täyttää kenttiä dynaamisesti suoraan tämän lyhytkoodin sisällä. Tämä menetelmä voi olla hyödyllinen, jos käytät samaa lomaketta useissa viesteissä (esim. rekisteröimällä osallistujia useisiin eri tapahtumiin tai kursseihin), ja sinun on annettava jotain ainutlaatuista, jotta tiedät, mistä tapahtumasta tai kurssista lomake on peräisin……

Normaalisti kun upotat lomakkeen, tuloksena on lyhytkoodi, joka näyttää suunnilleen tältä:[gravityforms id="1" title="Contact us"]

Muokkaa lyhytkoodia ja lisää avainjoukko field_valuesmerkkijonoon, joka sisältää parametrin nimen, joka vastaa haluttua arvoa. Esimerkiksi parametrin awp_populate_measettaminen ‘Hello World’ tapahtuu seuraavasti:

[gravityforms id="1" title="Contact us" field_values="awp_populate_me=Hello World"]

Jos sinun on täytettävä useita kenttiä, lisää "&" niiden väliin, kuten:

[gravityforms id="1" title="Contact us" field_values="awp_populate_me=Hello World&awp_another_field=Hello to you too"]

Kasvaa dynaamisesti Gutenbergin Blockista

Jos sinulla on GravityForms versio 2.4.13+ ja WordPress Gutenbergin kanssa (WordPress 5+), voit lisätä Gravity Forms lohkoksi. Tässä lohkossa sinulla on menetelmä myös kenttien täyttämiseen.

Lisää lohko "Forms" Gutenbergiin ja valitse lomake. Lohkon pitäisi muuttua lomakkeen esikatseluksi. Laajenna oikeanpuoleisesta paneelista Lisäasetukset, niin löydät tekstialueen nimeltä "Kentän arvot". Tälle tekstialueelle voit kirjoittaa parametrien nimet ja arvot, aivan kuten kirjoittaisit lyhytkoodin. Esim " awp_populate_me=Hello World!"

Täydellinen opas: Kenttien täyttäminen dynaamisesti painovoimamuodoissa

Täytetään dynaamisesti koodista

Ja lopuksi, jos haluat mieluummin täyttää kentäsi PHP-koodilla, on olemassa suodattimia tätä varten. Voit sijoittaa tämän koodin teemaasi functions.php.

Se, miten koodaat tämän, riippuu kentän tyypistä; kuten voit luultavasti arvata, että valintaruudussa täytetään (korvaa kaikki vaihtoehdot), valintaruutuja tai radioryhmää on käsiteltävä eri tavalla kuin vain yksittäisen tekstikentän täyttämistä.

Yksittäisen arvokentän täyttäminen

Kentän, jolla on yksi arvo (tämä koskee tekstikenttää, tekstialuetta, sähköpostikenttää, puhelinkenttää ja vastaavia) täyttäminen on helppoa suodattamalla gform_field_value_<parameter name>. Esimerkissämme:

add_filter('gform_field_value_awp_populate_me', function($value) { return 'Hello world!'; });

Voit myös käyttää tätä suodatinta esivalitsemaan vaihtoehdon moniarvokentässä, esimerkiksi valitse (pudotusvalikko), valintanapit tai valintaruudut.

Valinta- tai valintapainikkeiden täyttäminen

Jos olet vain kiinnostunut vaihtoehdon esivalinnasta, seuraa yllä olevaa ohjetta yhden arvokentän täyttämiseksi. Tämä koodi on tarkoitettu kenttään saatavien mahdollisten valintojen mukauttamiseen tai korvaamiseen.

Gravity Formsin muotojen renderöintisuodattimet

Suodattimen gform_pre_renderavulla voimme muokata lomaketta juuri ennen sen näyttämistä. Mutta tehdessämme muutoksia täällä meidän tulee varmistaa, että muutoksiamme sovelletaan kaikissa tapauksissa; joten meidän on kytkettävä myös gform_admin_pre_render(vastaava pre_render-suodatin, mutta vaikuttaa järjestelmänvalvojan/lomakkeen muokkaukseen), gform_pre_validation(vastaa lomakkeen vahvistamisesta ennen lähettämistä) ja gform_pre_submission_filter(suodatin vahvistuksen jälkeen, mutta ennen merkinnän tallentamista). Älä huoli, käytämme yhtä ja samaa toimintoa kaikille näille suodattimille.

Voit suodattaa nämä suoraan tai voit antaa alaviivan ja lomakkeen tunnuksen suodattimen nimen jälkeen vain tietyn lomakkeen suodattamista varten. Esim gform_pre_render_1. ajettaisiin vain lomakkeella, jonka lomaketunnus on 1.

Kaikkien näiden suodattimien argumenttina saat lomakeobjektin, josta saat lomakkeen tunnuksen (vaihtoehtoinen tapa lisätä lomaketunnus suodattimeen) ja kaikki sen kentät. Lomakekentät ovat joukko Fieldobjekteja, mutta meidän ei tarvitse huolehtia vain oikean kentän choicesominaisuuden korvaamisesta.

Vaihtelemalla valintoja

On täysin sinun päätettävissäsi, millä tiedoilla haluat korvata valinnat, mutta kentän choicesominaisuus tarvitsee taulukon, jossa on elementit "teksti" ja "arvo". Esimerkiksi ['text' => 'Hello World!', 'value' => '1', 'text' => 'Second choice', 'value' => '2'].

Yllä oleva koodi suodattaa vain lomakkeen tunnuksen 1. Se alkaa kiertämällä lomakkeen kenttiä. On tärkeää huomata "&" ennen elementtiä silmukassa, joka välittää sen viittauksella. Tämä tarkoittaa, että jos teemme muutoksia kohtaan $field, se otetaan käyttöön ja tallennetaan suoraan $form['fields'].

Toinen vaihe on kohdistaminen kenttään, jolla on kohdistettavan parametrin nimi. Tämä on ominaisuus jokaiselle kentälle inputName. Voit käyttää muita tapoja kohdistaa kenttiin, esim. sen ID (id) tai CSS-luokka (cssClass). Kun olemme löytäneet kenttämme, meidän on luotava korvaava matriisi valintoihin ja asetettava $field->choicestämä. Yllä olevassa esimerkissä kyselyn kaikilta sivuilta ja luon niiden läpi oikein muotoillun taulukon.

Älä unohda palauttaa sitä $formaivan lopussa, koska tämä on suodatin.

On syytä mainita, että tämä suodatin koskee myös muokkauslomaketta (koska suodatamme gform_admin_pre_render). Muista kuitenkin, että et voi enää muokata valintoja lomakkeen muokkauksessa – se ei vain tallenna muutoksiasi, koska tämä koodi ohittaa sen aina.

Valintaruutujen täyttäminen

Mainitsen sen uudelleen; Jos olet vain kiinnostunut valintaruudun esivalinnasta, seuraa yllä olevaa ohjetta yhden arvokentän täyttämiseksi. Mitä tulee kaikkien valintaruutujen valintojen korvaamiseen, prosessi on hyvin samanlainen kuin yllä olevien valinta- tai valintanappien täyttäminen, mutta pienillä eroilla. Suosittelen ensin tutustumaan yllä olevaan valinta- ja valintapainikkeiden selitykseen.

Käytät samoja suodattimia ja aloitusprosessi on sama; Selaat lomakkeen kenttiä ja etsit haluamasi. Kuitenkin valintaruuduilla sinun on korvattava kaksi ominaisuutta kenttäobjektissa; choicesja inputs. Ominaisuus choicesodottaa samaa taulukkoa kuin valinta- tai valintapainikkeissa.

Ominaisuus inputodottaa taulukkoa, jossa on elementit " label" ja " id". Se labelon itsestään selvä ja sen tulisi olla identtinen textvalintataulukon kanssa. Elementin idon noudatettava Gravity Forms ID -sääntöjä; ketjuttamalla kentän tunnus, piste ja valintatunnus, alkaen 1:stä (esim. jos kentän tunnus on 2 ja valinnan tunnus on 3, oikea idon " 2.3").

Koska valintatunnusten on aloitettava luvusta 1, aloitamme laskurimuuttujan ennen silmukkaa ja lisäämme 1:n jokaiselle silmukan elementille, ja käytämme sitä yhdessä kenttätunnuksen ja pisteen kanssa kuten idtaulukossa inputs.

Kun meillä on kaksi taulukkoamme, asetamme ne kenttään choicesja inputsominaisuuksiin ja palautamme muokatun lomakkeen.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja