Tovább a tartalomhoz

Űrlapmezők kódszerkezete

Az automatizálás-szerkesztő beállításmezőinek PHP-tömbös leírása: közös tulajdonságok és példák minden mezőtípusra.

Az automatizálás-szerkesztő beállítófelületeit a FluentCRM PHP-tömbökből rajzolja ki. Nem kell HTML-t vagy JavaScriptet írnod: a mezőket tömbként írod le, a felületet a FluentCRM készíti el. Az egyedi indítóesemény, művelet, feltétel és cél fejezetei ugyanezt a szerkezetet használják.

Szinte minden mezőleírás ismeri ezeket a kulcsokat:

Kulcs Mit csinál
label A mező látható felirata.
inline_help Rövid súgószöveg a beviteli mező alatt.
placeholder Helyőrző szöveg szöveges és választó mezőkben.
help Hosszabb leírás vagy buboréksúgó.
wrapper_class CSS-osztály az elrendezéshez (oszlopok, térközök).
readonly true esetén a mező megjelenik, de nem szerkeszthető.
dependency Szabály arra, mikor látszódjon a mező egy másik mező értéke alapján.

Minden mezőnek van type kulcsa (például input-text, multi-select, radio): ez dönti el, melyik felületi komponens jelenik meg.

Option selectors (option_selectors), egyszeres és többszörös választó (multi-select), rádiógomb (radio), számmező (input-number), szövegmező (input-text), szövegmező-felugró (input-text-popper), igen/nem jelölő (yes_no_check), csoportos választó (grouped-select), többszörös szövegbevitel (multi_text_options), e-mail-kampány szerkesztő (email_campaign_composer), újratöltő választó (reload_field_selection), mezőleképező (form-group-mapper), több legördülős leképező (form-many-drop-down-mapper), HTML (html), URL-választó (url_selector), név-érték párok (input_value_pair_properties), szöveges név-érték párok (text-value-multi-properties), HTML-szerkesztő (html_editor), REST-választó (rest_selector), feltételblokk-csoportok (condition_block_groups), egyedi feladó beállítása (custom_sender_config), választógombok (radio_buttons), jelölőnégyzetek (checkboxes) és időválasztó (time_selector).

'subscription_status' => [
'type' => 'option_selectors',
'option_key' => 'editable_statuses',
'is_multiple' => false,
'label' => 'Feliratkozási állapot',
'placeholder' => 'Válassz állapotot'
]
Kulcs Mit csinál
creatable Létrehozhat-e a felhasználó új címkét vagy listát a választóból.
size (Nem kötelező) A mező megjelenési mérete.
option_key Megmondja, melyik adathalmazt töltse be a FluentCRM (lásd lent).
is_multiple Választható-e több érték.

Az option_key leggyakoribb értékei:

option_key Mit ad vissza
tags Az összes címke.
lists Az összes lista.
editable_statuses Az összes szerkeszthető kapcsolattartó-állapot.
woo_products Az összes WooCommerce-termék.
email_sequences Az összes e-mail-sorozat.
campaigns Az összes e-mail-kampány.
product_selector_tutorlms Az összes TutorLMS-kurzus.
edd_coupons Az összes Easy Digital Downloads-kupon.
product_selector_learndash Az összes LearnDash-kurzus.
product_selector_learndash_groups Az összes LearnDash-csoport.
product_selector_lifterlms Az összes LifterLMS-kurzus.
product_selector_lifterlms_groups Az összes LifterLMS-tagság.
product_selector_pmpro Az összes Paid Memberships Pro-tagság.
product_selector_rcp Az összes Restrict Content Pro-tagság.
product_selector_wishlist Az összes Wishlist Member-tagság.
woo_coupons Az összes WooCommerce-kupon.
woo_order_statuses Az összes WooCommerce-rendelésállapot.
woo_categories Az összes WooCommerce-termékkategória.
product_selector_woo Az összes WooCommerce-termék.
product_selector_woo_order Az összes WooCommerce-termék (rendelésválasztókhoz).
edd_products Az összes Easy Digital Downloads-termék.
product_selector_edd Az összes Easy Digital Downloads-termék.

Az egyszeres és a többszörös választó szerkezete azonos. Az options tömb elemeinek két kulcsa van: id (egyedi azonosító) és title (a felületen látható felirat).

'product_ids' => [
'type' => 'multi-select',
'label' => 'Célzott termékek',
'help' => 'Válaszd ki, mely termékekre fusson a cél',
'options' => [
[
'id' => '2',
'title' => 'Első termék'
]
],
'inline_help' => 'Hagyd üresen, ha bármelyik termék megvásárlása számítson',
],

Az options ugyanolyan szerkezetű, mint a választóknál: az id az eltárolt érték, a title a gomb mellett látható felirat.

'purchase_type' => [
'type' => 'radio',
'label' => 'Vásárlás típusa',
'help' => 'Válaszd ki a vásárlás típusát',
'options' => [
[
'id' => 'all',
'title' => 'Bármilyen vásárlás'
]
],
'inline_help' => 'Milyen vásárlásra fusson a cél'
],
'wait_time_amount' => [
'label' => 'Várakozási idő',
'type' => 'input-number',
'wrapper_class' => 'fc_2col_inline pad-r-20'
],
'send_email_custom' => [
'wrapper_class' => 'fc_half_field',
'type' => 'input-text',
'label' => 'Címzettek (ha egyedi)',
'placeholder' => 'Egyedi e-mail-címek',
'inline_help' => 'Több cím esetén vesszővel válaszd el őket'
]

A field_type értéke text vagy textarea lehet. A mezőben okoskódok is használhatók.

'note' => [
'type' => 'input-text-popper',
'field_type' => 'textarea',
'label' => 'Rendelési megjegyzés',
'help' => 'Írd be a megjegyzést, amelyet a rendeléshez adsz. Okoskódokat is használhatsz'
]
'run_multiple' => [
'type' => 'yes_no_check',
'label' => '',
'check_label' => 'Az automatizálás többször is induljon újra ugyanannak a kapcsolattartónak (csak akkor kapcsold be, ha ezt szeretnéd)',
'inline_help' => 'Bekapcsolva újraindul az automatizálás, ha a kapcsolattartó már benne van. Egyébként kihagyja.',
]

A legfelső szintű elemeknek title (a csoport neve), slug (egyedi azonosító) és options (a gyerekelemek) kulcsa van. A gyerekelemeknek id és title kulcsa.

'lesson_ids' => [
'type' => 'grouped-select',
'label' => 'Célzott leckék',
'help' => 'Válaszd ki, mely leckékre fusson az automatizálás',
'options' => [
[
'title' => 'Első kurzus',
'slug' => 'first_course',
'options' => [
[
'id' => '1',
'title' => 'Első lecke'
]
]
]
],
'is_multiple' => true,
'inline_help' => 'Hagyd üresen, ha bármelyik leckére fusson',
],
'target_lesson' => [
'type' => 'multi_text_options',
'label' => 'Célzott leckék',
'help' => 'Add meg a célzott leckéket',
'input_type' => 'text',
'placeholder' => 'Célzott leckék',
'inline_help' => 'Hagyd üresen, ha minden leckére fusson'
]
'campaign' => [
'label' => '',
'type' => 'email_campaign_composer'
],

Az options elemei id és title kulccsal rendelkeznek. Akkor hasznos, ha egy másik mező (például a lecke) a kiválasztott értéktől (például a kurzustól) függ.

'course_id' => [
'type' => 'reload_field_selection',
'label' => 'Célzott kurzus',
'help' => 'Válassz kurzust a leckék betöltéséhez',
'options' => [
[
'id' => '1',
'title' => 'Első kurzus'
]
],
'inline_help' => 'Kötelező kurzust választani'
],

A value_options az űrlap mezőinek listája (id és title), a fields pedig a leképezendő kapcsolattartó-mezőké.

'primary_fields' => [
'label' => 'Elsődleges adatok leképezése',
'type' => 'form-group-mapper',
'value_options' => [
[
'id' => '',
'title' => ''
]
],
'local_label' => 'Kapcsolattartó mező (CRM)',
'remote_label' => 'Űrlapmező',
'fields' => [
'first_name' => [
'type' => 'value_options',
'label' => 'Keresztnév'
],
'last_name' => [
'type' => 'value_options',
'label' => 'Vezetéknév'
],
'email' => [
'type' => 'value_options',
'label' => 'E-mail'
]
]
]
'other_fields' => [
'label' => 'További adatok leképezése',
'type' => 'form-many-drop-down-mapper',
'value_options' => [
[
'id' => '',
'title' => ''
]
],
'local_label' => 'Válaszd ki a kapcsolattartó tulajdonságát',
'remote_label' => 'Válaszd ki az űrlapmezőt',
'local_placeholder' => 'Kapcsolattartó tulajdonsága',
'remote_placeholder' => 'Űrlapmező',
'fields' => [
'prefix' => [
'type' => 'value_options',
'label' => 'Megszólítás'
],
'address_line_1' => [
'type' => 'value_options',
'label' => 'Cím 1. sor'
],
'address_line_2' => [
'type' => 'value_options',
'label' => 'Cím 2. sor'
],
]
]

Az info kulcs kötelező.

'subscription_status_info' => [
'type' => 'html',
'info' => 'Az új feliratkozók automatikusan megerősítő levelet kapnak',
]
'redirect_to' => [
'type' => 'url_selector',
'label' => 'Átirányítás ide',
'placeholder' => 'A cél URL-je',
'help' => 'A kapcsolattartók erre a linkre kerülnek.',
'inline_help' => 'Add meg az URL-t, ahová a kapcsolattartó átkerül'
],

A property_options további mezőtípusokat tartalmaz. Felső szintű elemeinek kulcsai: label (a tulajdonságválasztó felirata), type (az érték kiválasztásához használt mezőtípus) és options. A belső options elemei: id, slug (nem kötelező, géppel olvasható kulcs) és title.

'contact_properties' => [
'type' => 'input_value_pair_properties',
'support_operations' => 'yes',
'label' => 'Állítsd be a frissítendő kapcsolattartó-tulajdonságokat',
'data_key_label' => 'Kapcsolattartó tulajdonsága',
'data_value_label' => 'Tulajdonság értéke',
'property_options' => [
'contact_type' => [
'label' => 'Kapcsolattartó típusa',
'type' => 'select',
'options' => [
[
'id' => 'lead',
'slug' => 'lead',
'title' => 'Érdeklődő'
]
]
],
]
]
'meta_properties' => [
'label' => 'Felhasználói meta leképezése',
'type' => 'text-value-multi-properties',
'data_key_label' => 'Meta kulcs',
'data_value_label' => 'Meta érték',
'data_value_placeholder' => 'Meta érték',
'data_key_placeholder' => 'Meta kulcs',
'help' => 'Itt képezheted le a felhasználói meta tulajdonságokat. Teljesen nem kötelező',
'value_input_type' => 'text-popper'
],
'description' => [
'type' => 'html_editor',
'label' => 'Leírás'
]

Az option_key kötelező (az értékei megegyeznek az option selectors értékeivel).

'course_id' => [
'type' => 'rest_selector',
'option_key' => 'product_selector_learndash',
'is_multiple' => false,
'clearable' => true,
'label' => 'Beiratkozási kurzus',
'placeholder' => 'Válassz kurzust',
]

A labels tömb kötelező. A groups adja meg az elérhető feltételcsoportokat és azok elemeit.

'conditions' => [
'type' => 'condition_block_groups',
'label' => 'Add meg az egyezési feltételeket',
'inline_help' => 'Add meg, mely kapcsolattartó-tulajdonságoknak kell egyezniük. A feltételek alapján az igen vagy a nem ág fut le',
'labels' => [
'match_type_all_label' => 'Igaz, ha minden feltétel teljesül',
'match_type_any_label' => 'Igaz, ha bármelyik feltétel teljesül',
'data_key_label' => 'Kapcsolattartó adata',
'condition_label' => 'Feltétel',
'data_value_label' => 'Egyező érték'
],
'groups' => [
'subscriber' => [
'label' => 'Kapcsolattartó',
'value' => 'subscriber',
'children' => [
[
'label' => 'Keresztnév',
'value' => 'first_name',
'type' => 'nullable_text'
],
]
]
],
'add_label' => 'Feltétel hozzáadása a kapcsolattartó tulajdonságainak ellenőrzéséhez',
]

A check_label a blokk címe.

'mailer_settings' => [
'type' => 'custom_sender_config',
'check_label' => 'Egyedi feladónév és e-mail-cím megadása',
]

Az options elemei id és title kulccsal rendelkeznek.

'wait_type' => [
'type' => 'radio_buttons',
'label' => 'Várakozás típusa',
'options' => [
[
'id' => 'unit_wait',
'title' => 'Meghatározott ideig'
],
[
'id' => 'timestamp_wait',
'title' => 'Meghatározott dátumig és időpontig'
],
[
'id' => 'to_day',
'title' => 'A hét egy napjáig'
]
]
],

Az options a hét napjait tartalmazza (id és title). A példa mező a wait_type mezőtől függ: csak akkor látszik, ha a wait_type értéke to_day.

'to_day' => [
'type' => 'checkboxes',
'label' => 'Várakozás a hét következő napjáig',
'wrapper_class' => 'fc_2col_inline pad-r-20',
'options' => [
[
'id' => 'Mon',
'title' => 'Hétfő'
]
],
],

A picker_options három kulcsot tartalmaz: start, step és end. Ez a példa is a wait_type mezőtől függ, és csak to_day értéknél látszik.

'to_day_time' => [
'label' => 'Napszak',
'type' => 'time_selector',
'placeholder' => 'Válassz időpontot',
'wrapper_class' => 'fc_2col_inline',
'picker_options' => [
'start' => '00:00',
'step' => '00:10',
'end' => '23:59'
]
]

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások