SuiteCRM ist ein leistungsstarkes Open-Source-Customer-Relationship-Management-System (CRM), das häufig in der Unternehmenskundenverwaltung, Vertriebsautomatisierung und Marketingaktivitäten eingesetzt wird. Die Aufgabenerinnerungsfunktion kann Teammitgliedern effektiv dabei helfen, Arbeitsaufgaben pünktlich zu erledigen. In diesem Artikel wird erläutert, wie Sie die Aufgabenerinnerungsfunktion von SuiteCRM über PHP-Code anpassen können, um den Erinnerungsmechanismus besser an die tatsächlichen Anforderungen des Unternehmens anzupassen.
In SuiteCRM basiert die Aufgabenerinnerungsfunktion hauptsächlich auf geplanten Aufgaben (Cron Job). Geplante Aufgaben sind ein Mechanismus zur regelmäßigen Ausführung von Skripten, die zu bestimmten Zeitpunkten automatisch Aufgaben auslösen können. Durch das Schreiben benutzerdefinierter Cron-Aufgaben für SuiteCRM können wir personalisierte Aufgabenerinnerungen implementieren, z. B. E-Mail-Erinnerungen oder Systembenachrichtigungen.
Zuerst müssen Sie ein PHP-Skript schreiben, um Aufgabenerinnerungen auszulösen. Suchen Sie im SuiteCRM-Installationsverzeichnis den folgenden Pfad:
custom/modules/Schedulers/_AddJobsHere.php
Fügen Sie der Datei den folgenden Code hinzu:
<?php
// Führen Sie das Aufgabenerinnerungsskript aus
require_once('include/SugarQueue/SugarJobQueue.php');
$job = new SugarJobQueue();
$job-> runJob('function::your_custom_function', '', true);
?>Dabei ist Ihre_benutzerdefinierte_Funktion der Name der benutzerdefinierten Funktion, die entsprechend der tatsächlichen Funktion benannt werden kann.
Als Nächstes müssen Sie die spezifische Logik der Aufgabenerinnerung definieren. Erstellen oder bearbeiten Sie die folgenden Dateien im SuiteCRM-Installationsverzeichnis:
custom/modules/Schedulers/jobs/SchedulersJob.your_custom_function.php
Fügen Sie den folgenden Code hinzu:
<?php
class SchedulersJobyour_custom_function extends SchedulersJob
{
public function run($job)
{
$db = DBManagerFactory::getInstance();
// Führen Sie Aufgaben im Zusammenhang mit Aufgabenerinnerungen aus,Senden Sie beispielsweise eine E-Mail oder generieren Sie eine Systemerinnerung
// ...
$job-> successJob();
}
}
?>In dieser Funktion können Sie Erinnerungslogiken frei schreiben, z. B. das Versenden von Erinnerungs-E-Mails an die verantwortliche Person oder das Erstellen von Benachrichtigungsnachrichten im CRM.
Nach Abschluss der Skript- und Funktionsdefinition müssen Sie geplante Aufgaben in SuiteCRM konfigurieren, damit das System das Erinnerungsskript regelmäßig ausführen kann. Erstellen oder bearbeiten Sie die folgenden Dateien:
custom/Extension/modules/Schedulers/Ext/ScheduledTasks/your_custom_task.php
Fügen Sie Folgendes hinzu:
<?php
$manifest = array(
'acceptable_sugar_versions' => Array(
'regex_matches' => array('5.2.*', '6.*', '7.*', '8.*', '9.*'),
),
'acceptable_sugar_flavors' => array('PRO', 'ENT', 'ULT'),
'name' => 'Ihre benutzerdefinierte Aufgabe',
'description' => 'Dies ist eine benutzerdefinierte Aufgabe für Ihre Aufgabenerinnerungen',
'version' => '1.0.0',
'Autor' => 'Ihr Name',
'scheduledefs' => array(
'your_custom_task' => array(
'log_level' => 'debug',
'log_frequenz' => 'täglich',
'module' => 'Scheduler',
'name' => 'your_custom_task',
'function' => 'your_custom_function',
'allow_multiple' => true,
),
),
);
?>In der obigen Konfiguration ist your_custom_task der Name der benutzerdefinierten Aufgabe und your_custom_function entspricht der zuvor definierten Funktion.
Nach Abschluss der Konfiguration können Sie das geplante Aufgabenskript manuell zum Testen ausführen. Führen Sie die folgenden Befehle im SuiteCRM-Installationsverzeichnis aus:
php -f cron.php
Bei korrekter Konfiguration löst das System die Erinnerungsfunktion gemäß den geplanten Aufgabenregeln aus.
Durch die in diesem Artikel vorgestellten Schritte können Entwickler die Aufgabenerinnerungsfunktion von SuiteCRM auf Basis von PHP ganz einfach anpassen. In Kombination mit individuell geplanten Aufgaben und Skriptlogik kann das System die Automatisierungsanforderungen des Teamarbeitsrhythmus und der Geschäftsprozesse besser erfüllen.
Offizielle Dokumentation: