Tovább a tartalomhoz

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.

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.

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.

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:

  1. A Custom → Purchased Products feltétel elérhető az automatizálás feltételszerkesztőjében.
  2. A FluentCRM minden kiértékeléskor meghívja az assessAutomationConditions() metódusodat.
  3. Ugyanezzel a mintával további egyedi feltételeket és összetettebb szűrési logikát is megvalósíthatsz.

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