מרכז ההדרכות של סקולילנד

יעד / Benchmark מותאם לאוטומציה

בנצ’מרק הוא יעד או יעד שאליו אתה רוצה להגיע. לדוגמה, כאשר משתמש לוחץ על קישור בדוא”ל שלך אז זה יכול להוות מדד. כאשר תג אחד או יותר מוחלים על סמך טריגר ומערכת של פעולות, אז זה יכול להיות מדד. אמת מידה הוא השלב האחרון באוטומציה.

#< /a>יצירת Benchmark #

יצירת אמת מידה דומה מאוד ליצירת טריגר או פעולה עם הבדל קל. אתה רק צריך להרחיב את המחלקה FluentCrm\App\Services\Funnel\BaseBenchmark וליישם את השיטות הנדרשות. נניח שחלק מהתגים מוחלים על משתמשים מסוימים כאשר נרשם לקורס. עבור משתמשים אלה, אתה רוצה לסיים את האוטומציה. כלומר, הם הגיעו לרף. אנא שים לב של- FluentCRM כבר יש רף תג. אבל, אנחנו יוצרים אמת מידה מותאמת אישית לשם הדוגמה.

צור מחלקה חדשה והרחיב את המחלקה FluentCrm\App\Services\Funnel\BaseBenchmark . לבנאי הכיתה יש את הגוף הבא:

<?php
מרחב השמות Your\Plugin\Name\Automation;

השתמש ב- FluentCrm\App\Services\Funnel\BaseBenchmark;

class CourseEnrolledBenchmark מרחיב את BaseBenchmark {
        
    פונקציה ציבורית __construct()
    {
        $this->triggerName = 'your_own_action_trigger_name'; // שנה זאת באמצעות טריגר הפעולה שאליו אתה ממקד
        $this->actionArgNum = 2;
        $this->priority = 20;
        parent::__construct();
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

הגדר את שיטת getBlock . שיטה זו למעשה מחזירה את הבלוק של המדד. הבלוק הוא ממשק המשתמש של ה-benchmark.

 פונקציה ציבורית getBlock()
    {
        החזר [
            'קטגוריה' => __('MyTag Applied', 'your-plugin'),
            'title' => __('קורס נרשם', 'הפלאגין שלך'),
            'description' => __('זה יפעל כאשר תגים נבחרים יוחלו על איש קשר', 'your-plugin'),
            'סמל' => 'fc-icon-apply_list', // השתמש בכל סמל שתרצה
            'הגדרות' => [
                'תגים' => [],
                'select_type' => 'כֹּל',
                'סוג' => 'אופציונלי',
                'can_enter' => 'כֵּן'
            ]
        ];
    }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

הגדר getDefaultSettingsשיטה. שיטה זו מחזירה את הגדרות ברירת המחדל של ה-benchmark.

 פונקציה ציבורית getDefaultSettings()
    {
        החזר [
            'תגים' => [],
            'select_type' => 'כֹּל',
            'סוג' => 'אופציונלי',
            'can_enter' => 'כֵּן'
        ];
    }

1
2
3
4
5
6
7
8
9

כעת, עליך להגדיר שיטה getBlockFields המחזירה את ההגדרות של המדד.

 פונקציה ציבורית getBlockFields($funnel)
    {
        $yourCustomTags = [
            [
                'id' => 'your-tag-id',
                'title' => 'כותרת התג שלך',
            ],
            [
                'id' => 'מזהה-האחר-שלך',
                'title' => 'כותרת התג האחרת שלך',
            ]
        ];
        החזר [
            'title' => __('תג הפלאגין שלי הוחל', 'הפלאגין שלך'),
            'sub_title' => __('זה יפעל כאשר התגים שנבחרו יוחלו על איש קשר', 'your-plugin'),
            'fields' => [
                'תגים' => [
                    'סוג' => 'בחירה מרובה',
                    'options' => $yourCustomTags,
                    'is_multiple' => נָכוֹן,
                    'תווית' => __('בחר תגים', 'הפלאגין שלך'),
                    'placeholder' => __('בחר תגים', 'הפלאגין שלך')
                ],
                'select_type' => [
                    'תווית' => __('הפעל מתי', 'הפלאגין שלך'),
                    'סוג' => 'רָדִיוֹ',
                    'inline' => נָכוֹן,
                    'options' => [
                        [
                            'id' => 'כֹּל',
                            'title' => __('איש קשר נוסף בכל אחד מהתגים שנבחרו', 'fluent-crm')
                        ],
                        [
                            'id' => 'כֹּל',
                            'title' => __('איש קשר נוסף בכל התגים שנבחרו', 'fluent-crm')
                        ]
                    ],
                    'תלות' => [
                        'depends_on' => 'תגים',
                        'מפעיל' => '!=',
                        'value' => ''
                    ]
                ]
            ]
        ];
    }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

לבסוף, עליך להגדיר את שיטת handle. שיטה זו נקראת כאשר מגיעים לרף. אתה יכול לעשות כל מה שאתה רוצה בשיטה זו.

 ידית פונקציה ציבורית ($benchMark, $originalArgs)
    {
        $tagIds = $originalArgs[0];
        $subscriber = $originalArgs[1];
        $settings = $benchMark->settings;

        $isMatched = array_intersect($settings['tags'], $tagIds);
        if (!$isMatched) {
            החזר שקר; // לא בתחום שלנו
        }

        $marchType = Arr::get($settings, 'select_type');

        $subscriberTags = $subscriber->tags->pluck('id')->toArray();
        $intersection = array_intersect($tagIds, $subscriberTags);

        if ($marchType === 'כל') {
            // לפחות מזהה רשימת משפך אחד זמין.
            $isMatched = !empty($intersection);
        } אחר {
            // כל מזהי רשימת המשפכים קיימים.
            $isMatched = count($intersection) === count($settings['tags']);
        }

        if (!$isMatched) {
            החזר שקר; // לא בתחום שלנו
        }

        $funnelProcessor = new FunnelProcessor();
        $funnelProcessor->startFunnelFromSequencePoint($benchMark, $subscriber);
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

בואו נראה מה עשינו בשיטת handle . ראשית, בדקנו אם התגים שהוחלו על המנוי הם בהיקף שלנו או לא. אם לא, אז החזרנו false. לאחר מכן, בדקנו אם התגים שהוחלו על המנוי תואמים את התגים של המדד או לא. אם לא, אז החזרנו false. לבסוף, התחלנו את האוטומציה מהמדד.

הקוד המלא של המדד אמור להיראות כך:

<?php
מרחב השמות Your\Plugin\Name\Automation;

השתמש ב- FluentCrm\App\Services\Funnel\BaseBenchmark;
השתמש ב- FluentCrm\App\Services\Funnel\FunnelProcessor;
השתמש ב- FluentCrm\Includes\Helpers\Arr;

class CourseEnrolledBenchmark מרחיב את BaseBenchmark {
        
    פונקציה ציבורית __construct()
    {
        $this->triggerName = 'your_own_action_trigger_name';
        $this->actionArgNum = 2;
        $this->priority = 20;
        parent::__construct();
    }
    
    פונקציה ציבורית getBlock()
    {
        החזר [
            'קטגוריה' => __('MyTag Applied', 'your-plugin'),
            'title' => __('קורס נרשם', 'הפלאגין שלך'),
            'description' => __('זה יפעל כאשר תגים נבחרים יוחלו על איש קשר', 'your-plugin'),
            'סמל' => 'fc-icon-apply_list', // השתמש בכל סמל שתרצה
            'הגדרות' => [
                'תגים' => [],
                'select_type' => 'כֹּל',
                'סוג' => 'אופציונלי',
                'can_enter' => 'כֵּן'
            ]
        ];
    }
    פונקציה ציבורית getDefaultSettings()
    {
        החזר [
            'תגים' => [],
            'select_type' => 'כֹּל',
            'סוג' => 'אופציונלי',
            'can_enter' => 'כֵּן'
        ];
    }
    
    פונקציה ציבורית getBlockFields($funnel)
    {
        $yourCustomTags = [
            [
                'id' => 'your-tag-id',
                'title' => 'כותרת התג שלך',
            ],
            [
                'id' => 'מזהה-האחר-שלך',
                'title' => 'כותרת התג האחרת שלך',
            ]
        ];
        החזר [
            'title' => __('תג הפלאגין שלי הוחל', 'הפלאגין שלך'),
            'sub_title' => __('זה יפעל כאשר התגים שנבחרו יוחלו על איש קשר', 'your-plugin'),
            'fields' => [
                'תגים' => [
                    'סוג' => 'בחירה מרובה',
                    'options' => $yourCustomTags,
                    'is_multiple' => נָכוֹן,
                    'תווית' => __('בחר תגים', 'הפלאגין שלך'),
                    'placeholder' => __('בחר תגים', 'הפלאגין שלך')
                ],
                'select_type' => [
                    'תווית' => __('הפעל מתי', 'הפלאגין שלך'),
                    'סוג' => 'רָדִיוֹ',
                    'inline' => נָכוֹן,
                    'options' => [
                        [
                            'id' => 'כֹּל',
                            'title' => __('איש קשר נוסף בכל אחד מהתגים שנבחרו', 'fluent-crm')
                        ],
                        [
                            'id' => 'כֹּל',
                            'title' => __('איש קשר נוסף בכל התגים שנבחרו', 'fluent-crm')
                        ]
                    ],
                    'תלות' => [
                        'depends_on' => 'תגים',
                        'מפעיל' => '!=',
                        'value' => ''
                    ]
                ]
            ]
        ];
    }
    
    ידית פונקציה ציבורית ($benchMark, $originalArgs)
    {
        $tagIds = $originalArgs[0];
        $subscriber = $originalArgs[1];
        $settings = $benchMark->settings;

        $isMatched = array_intersect($settings['tags'], $tagIds);
        if (!$isMatched) {
            החזר שקר; // לא בתחום שלנו
        }

        $marchType = Arr::get($settings, 'select_type');

        $subscriberTags = $subscriber->tags->pluck('id')->toArray();
        $intersection = array_intersect($tagIds, $subscriberTags);

        if ($marchType === 'כל') {
            // לפחות מזהה רשימת משפך אחד זמין.
            $isMatched = !empty($intersection);
        } אחר {
            // כל מזהי רשימת המשפכים קיימים.
            $isMatched = count($intersection) === count($settings['tags']);
        }

        if (!$isMatched) {
            החזר שקר; // לא בתחום שלנו
        }

        $funnelProcessor = new FunnelProcessor();
        $funnelProcessor->startFunnelFromSequencePoint($benchMark, $subscriber);
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

#< /a>רישום ה-Benchmark #

המדד שלך מוכן לשימוש. כעת, עליך לרשום אותו עם FluentCRM.

add_action('fluentcrm_addons_loaded', function () {
    new Your\Plugin\Name\Automation\CourseEnrolledBenchmark();
},99);

אהבתם? מוזמנים לשתף:

מדריך זה היה שימושי?

  • Happy
  • Normal
  • Sad

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *