Mit der Version 2.0.9 wurde ein Feature implementiert, dass es erlaubt, dass Drittanbieterplugins weitere Felder über das CleverReach Plugin registrieren und befüllen können.
Dies geschieht über 2 neue Methoden in der Bootstrap.php
des Plugins
Über die registerCleverReachFields
Methode werden die möglichen Felder mittels Array Übergabe registriert.
Codebeispiel:
/**
* @return \Plugin\xv_cleverreach_v2\Components\Services\BusinessLogic\Field\DTO\Field[]
*/
public function registerCleverReachFields(): array
{
/**
* $fieldname - Fieldname, that will display in cleverreach
* $fieldtype - Possible Types: 'text', 'number', 'date', 'gender'
*/
$fieldname = 'Example Field';
$fieldtype = 'text';
return [
new \Plugin\xv_cleverreach_v2\Components\Services\BusinessLogic\Field\DTO\Field( $fieldname, $fieldtype ),
];
}
Die Methode
fillCleverReachField
wird verwendet, um die Felder mit den dem entsprechenden Wert zu füllen. Wird der Wert null
zurückgegeben, so wird das Feld bei dem Kunden NICHT an CleverReach übermittelt.Codebeispiel:
/**
* @param string $fieldName
* @param string $email
* @return mixed
*/
public function fillCleverReachField(string $fieldName, string $email): mixed
{
switch ($fieldName)
{
case 'Example Field':
$customer = $this->getDB()->selectSingleRow(
'tkunde',
'cMail',
$email
);
if(is_object($customer) && (int)$customer->kKunde > 0)
{
return 'Ich bin ein Shopkunde';
}
break;
}
return null;
}