Mező dinamikus kitöltése lekérdezési karakterlánccal, shortcode-dal, blokkal és kóddal
A dinamikus kitöltés három lépése, a négy módszer (webcím, shortcode, blokk, hook), mikor melyiket használd, és a paraméternevek szabályai.
A dinamikus kitöltéssel egy mező értékét (vagy a mező típusától függően több értékét) kívülről adhatod át: webcímben, shortcode-ban, az űrlap blokkjában vagy kóddal. Három lépésből áll:
- Megadod, melyik mező legyen kitöltve.
- Megadod, hogyan történjen a kitöltés.
- Megadod, milyen értékkel.
A mező kijelölése
Szekció neve “A mező kijelölése”- Jelöld ki a mezőt az űrlapszerkesztőben.
- A Mező beállításai között nyisd ki a Haladó szakaszt.
- Jelöld be a Mező dinamikus kitöltésének engedélyezése négyzetet.
- A megjelenő Paraméternév mezőbe írd be a paraméter nevét. Ez az azonosító mondja meg a Gravity Formsnak, melyik mezőt töltse ki.
A paraméternevek szabályai
Szekció neve “A paraméternevek szabályai”- Kis- és nagybetű: a név megkülönbözteti őket, a
parameter_nameés aPARAMETER_NAMEnem egyezik. - Fenntartott szavak: ne használj WordPress által lefoglalt kifejezést. Gyakori hiba a
name, amely404 Not Foundhibát okoz. Jó gyakorlat saját előtagot használni, példáulsa_numberanumberhelyett. - Et-jel: az
&nem szerepelhet a paraméter nevében vagy értékében.
1. Webcím (lekérdezési karakterlánc)
Szekció neve “1. Webcím (lekérdezési karakterlánc)”Fűzd az oldal webcíméhez a paramétert és az értéket:
http://oldalam.hu/urlap/?parameter_neve=ertekHa az oldalon van űrlap, a parameter_neve paraméterű mező az ertek értéket kapja. Jelölőnégyzetek és többválasztós mezők előre kijelöléséhez vesszővel elválasztott listát adj meg. A választós mezők értékei megkülönböztetik a kis- és nagybetűt.
Egyes tárhelyek (például a WP Engine) a lekérdezési paramétereket is gyorsítótárazzák. Ha a mező nem töltődik ki, ellenőrizd, hogy nem gyorsítótárból érkezik-e az oldal.
Példa: ügynökök listájánál minden ügynök mellé tehetsz hivatkozást egy kapcsolati űrlapra, amelynek webcíme tartalmazza az ügynök e-mail-címét. Az űrlap e-mail-mezője ezt a paramétert fogadja, így nem kell ügynökönként külön űrlap. Ha nem akarod, hogy a látogató módosítsa a kitöltött értéket, a mező Láthatóság beállításánál válaszd az adminisztratív megjelenítést.
2. Shortcode
Szekció neve “2. Shortcode”A shortcode field_values paraméterében több dinamikus kitöltési paramétert is megadhatsz, & jellel elválasztva:
[gravityform id="1" field_values="parameter_nev1=ertek1¶meter_nev2=ertek2"]Hasznos, ha több bejegyzés ugyanazt az űrlapot használja, de mindegyiknek más érték kell. Például egy rendezvényre jelentkező űrlapban az esemény mezőjének paramétere event_name, és minden eseményoldalon más nevet adsz át:
[gravityform id="1" field_values="event_name=Tavaszi workshop"]3. Blokk
Szekció neve “3. Blokk”Az űrlap blokkjának Haladó lapján található Mezőértékek szövegmezőbe ugyanígy írhatod a paramétereket:
parameter_nev1=ertek1¶meter_nev2=ertek2Ha az Előnézet beállítás is be van kapcsolva, a blokk a szerkesztőben valós időben mutatja a kitöltött értékeket. A módszer ugyanazt tudja, mint a shortcode, de kényelmesebben.
4. Hook (kód)
Szekció neve “4. Hook (kód)”Ez adja a legrugalmasabb kitöltést, de egy kis PHP-tudás kell hozzá:
add_filter( 'gform_field_value_your_parameter', 'my_custom_population_function' );function my_custom_population_function( $value ) { return 'boom!';}A kód minden your_parameter paraméterű mezőt a függvény visszatérési értékével tölt ki, itt a boom! szöveggel. A kódot a téma functions.php fájljába, egy saját funkcióbővítménybe, saját kiegészítőbe vagy kódrészlet-bővítménybe teheted.
Korlát
Szekció neve “Korlát”A funkció PHP-vel kéri le és tölti ki az értékeket, ezért gyorsítótárazott oldalon nem működik: a gyorsítótár megakadályozza a PHP futását. Ez nem a Gravity Forms hibája.
Készült: