1. Home
  2. Dokumente
  3. CleverReach Plugin für JT...
  4. Technische Informationen
  5. Weitere Felder über Drittanbieterplugins anlegen

Weitere Felder über Drittanbieterplugins anlegen

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;
    }