Globális változók kezelése

A globális változók a SalesAutopilot-ban olyan változók, amiket egy helyen lehet beállítani (Beállítások / Rendszer / Globális változók), utána bármennyi űrlapnál használhatók. Például ügyfelem szemináriumokat tart, és ezek dátumait a lehető legegyszerűbben szeretné kezelni, egy felületen. A lejárt dátumokat, vagy betelt szemináriumokat itt eltávolítani, újakat hozzáadni.

Hogyan használjuk ezeket alapesetben?

A Landing Page szövegébe egyszerűen betesszük a változókat így:

[global_szeminarium_datum_1]<br />
[global_szeminarium_datum_2]<br />
[global_szeminarium_datum_3]<br />
[global_szeminarium_datum_4]<br />
[global_szeminarium_datum_5]<br />

stb…

Vagy ugyanitt a feliratkozó űrlapba így:

<select name="datum_text">
<option value="">Válassz egy időpontot!</option>
<option value="[global_szeminarium_datum_1]">[global_szeminarium_datum_1]</option>
<option value="[global_szeminarium_datum_2]">[global_szeminarium_datum_2]</option>
<option value="[global_szeminarium_datum_3]">[global_szeminarium_datum_3]</option>
<option value="[global_szeminarium_datum_4]">[global_szeminarium_datum_4]</option>
<option value="[global_szeminarium_datum_5]">[global_szeminarium_datum_5]</option>
</select>

Fejlesztési igény ezzel kapcsolatban:

Ügyfelem azt kérte, oldjam meg hogy

  • egyszerűbben karbantarthatók legyenek a dátumok
  • ne csak Landing Page-en, hanem WordPress oldalakon is tudjuk használni őket
  • űrlapon és Landing Page-en ahol használjuk, ott csak annyi jelenjen meg amennyi ki van töltve

Nézzük sorban ezeket a feladatokat:

1. Mitől nem volt egyszerű a karbantartás?

Amikor töröltük a lejárt dátumokat, azzal kidobtuk a [global_szeminarium_datum_1]-et, és a sorban az első a [global_szeminarium_datum_2] lett. Az új dátumok nem kaphatták meg a kisebb sorszámokat a sorrend miatt, ezért törlésnél az egészet át kellett írni, ami eddig 2-es volt azt az egyesre másolni, stb. Nagyságrendileg 30 dátum volt egyszerre a rendszerben, így ez elég monoton munkát jelentett hibázási lehetőségekkel.

A megoldás egy php scripten alapuló felület lett file feltöltéssel. Kiválasztják a csv, vagy txt file-t, amiben soronként egymás alatt vannak a dátumok rögzitve. Ezt excel-ben nagyon könnyű karban tartani, mentés után feltöltik a jelszóval védett oldalon, és a script API kapcsolaton keresztül pillanat alatt átküldi őket a SalesAutopilot fióknak.

2. WordPress shortkódok

A sales oldalak gyakran WordPress-ben készülnek mert könnyű összerakni a tartalmat. Az űrlap bemásolásánál minimális HTML ismeret elegendő egyszerűbb műveletek, cserék elvégzéséhez. A fent látható select-et beillesztéskor az űrlapot elkészítő marketinges is be tudja másolni a szöveges mező helyére, és onnattól a WordPress mint shortkódokat értelmezni, és cserélni tudja a globális változók kulcsait. Ehhez a feltöltő scriptnek a WordPress-be is el kell mentenie ezeket, ezt eleinte adatbázisba, ma már file-ba menti, onnét kevesebb erőforrás és hibalehetőség behúzni.

<div class="fieldcontainer">
<select name="datum_text" style="width:320px;">
<option value="">Válassz egy időpontot!</option>
[include file="datum_options.htm"]
</select>
</div>

3. üres elemek ne jelenjenek meg

Amikor a fenti módon a Landing Oldalakba be van illesztve 30db globális változó, de időközben törölve lett belőlük és már csak 25 aktív, akkor a <br /> elemek üres sorokat, és indokolatlanul nagy térközt eredményeznek. Erre javascript készült ami az oldal betöltése után korrigálja ezeket, és eltávolítja az űrlapon a select elemből is az üres opciókat.

4. Egy bónusz megoldás, ami ebben a formában nem készült el, de innen már csak egy lépés:

A betöltő script analizálja a szöveges dátumokat, havi bontásban tagolja, és szinezi aszerint hogy Budapesti a helyszín vagy vidéki, plusz amelyik betelt, azt vékonyabb betűvel szedi. Ezt mint egy szöveges tartalmat, betölti egy egyedi globális változóba, és az oldalakban nagyon könnyen megjeleníthető [global_formazott_datumok].