Egyedi automatizálás-feltétel
Saját feltételcsoport és feltétel regisztrálása PHP-ból, a hozzá tartozó kiértékelő logikával.
A feltételeket az automatizálás futás közben ellenőrzi. Ezek döntik el, hogy:
- mely kapcsolattartók haladnak tovább az automatizálás egy lépésén,
- melyeket szűri ki a saját szabályod.
A FluentCRM sok beépített feltételt ad, de a saját bővítményedből is megjeleníthetsz feltételeket (például „megvásárolt termékek”), és a kiértékelést te valósítod meg.
Használt kampók
Szekció neve “Használt kampók”Két filter kell hozzá:
| Típus | Kampó neve | Mire való |
|---|---|---|
| Filter | fluentcrm_automation_condition_groups |
Felveszi a feltételcsoportot és elemeit a feltételszerkesztőbe. |
| Filter | fluentcrm_automation_conditions_assess_custom |
Kiértékeli az egyedi feltételeket egy adott kapcsolattartóra, és visszaadja az eredményt. |
A példában egy „Purchased Products” (megvásárolt termékek) feltételt vezetünk be az egyedi (Custom) csoportban.
1. lépés: a feltétel osztálya
Szekció neve “1. lépés: a feltétel osztálya”Hozz létre egy PHP-osztályt (például Custom\Conditions\CustomCondition), amely regisztrálja és kiértékeli a feltételeket.
<?php
namespace Custom\Conditions;
class CustomCondition{ public function __construct() { // 1) A feltételcsoport és elemei a felületen add_filter( 'fluentcrm_automation_condition_groups', [$this, 'addAutomationConditions'], 10, 2 );
// 2) Az egyedi feltételek kiértékelése add_filter( 'fluentcrm_automation_conditions_assess_custom', [$this, 'assessAutomationConditions'], 10, 3 ); }
/** * Egy „Custom” csoport egy „Purchased Products” feltétellel. */ public function addAutomationConditions($groups, $funnel) { $customerItems = [ [ 'value' => 'purchased_items', 'label' => 'Purchased Products', 'type' => 'selections', 'component' => 'product_selector', 'is_singular_value' => true, 'is_multiple' => true, 'disabled' => false, ], ];
$groups['custom'] = [ 'label' => 'Custom', 'value' => 'custom', 'children' => $customerItems, ];
return $groups; }
/** * Az egyedi feltételek kiértékelése az adott kapcsolattartóra. * * @param bool $result A korábbi feltételek eredménye. * @param \FluentCrm\Framework\Support\Arryable[] $conditions A feltételek leírásai. * @param \FluentCrm\App\Models\Subscriber $subscriber Az aktuális kapcsolattartó. * * @return bool */ public function assessAutomationConditions($result, $conditions, $subscriber) { // Vázlat: járd végig a feltételeket, és alkalmazd a saját logikádat. foreach ($conditions as $condition) { if ($condition['value'] === 'purchased_items') { // TEENDŐ: ide jön a saját vásárlásellenőrző logikád. // Ha a kapcsolattartó megfelel a szabálynak, maradjon $result = true, // különben állítsd $result = false értékre, és lépj ki a ciklusból. } }
return $result; }}Az osztály betöltése után a FluentCRM:
- megjeleníti a Custom → Purchased Products feltételt az automatizálás feltételszerkesztőjében,
- minden használatkor meghívja az
assessAutomationConditions()metódust, átadva a feltétel adatait és az aktuális kapcsolattartót, hogy te dönthess az egyezésről.
2. lépés: az osztály regisztrálása
Szekció neve “2. lépés: az osztály regisztrálása”Az osztályt akkor példányosítsd, amikor a FluentCRM Pro már betöltődött; szokásos hely a plugins_loaded kampó:
add_action('plugins_loaded', function () { if (defined('FLUENTCAMPAIGN_DIR_FILE')) { new \Custom\Conditions\CustomCondition(); }});Ezután:
- A Custom → Purchased Products feltétel elérhető az automatizálás feltételszerkesztőjében.
- A FluentCRM minden kiértékeléskor meghívja az
assessAutomationConditions()metódusodat. - Ugyanezzel a mintával további egyedi feltételeket és összetettebb szűrési logikát is megvalósíthatsz.
Készült: