Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie PHP, um benutzerdefinierte Module für SuiteCRM zu entwickeln

So verwenden Sie PHP, um benutzerdefinierte Module für SuiteCRM zu entwickeln

M66 2025-05-30

Einführung in Suitecrm

SuiteCRM ist ein Open Source Enterprise Customer Relationship Management-System (CRM) mit umfangreichen Funktionen und hohen Anpassungen, die für kleine und mittelgroße Unternehmen und große Unternehmen geeignet sind. Durch seine flexible Architektur können Entwickler sekundäre Entwicklung und Modulerweiterung entsprechend den spezifischen Bedürfnissen durchführen.

Vorbereitungen vor der Entwicklung

Bitte stellen Sie vor dem Modulentwicklung sicher, dass Sie eine SuiteCrecrm -Umgebung erstellt haben und über entsprechende Berechtigungen für Systemzugriffe und Entwicklungen verfügen. Gleichzeitig ist das grundlegende PHP -Programmierkenntnis erforderlich, um relevante Codebeispiele zu verstehen und anzuwenden.

Erstellen Sie benutzerdefinierte Module

Um ein benutzerdefiniertes Modul zu erstellen, müssen Sie ein neues Modulverzeichnis unter dem Verzeichnis custom/modules erstellen. Zum Beispiel könnten wir einen Ordner namens CustomModule als Stammverzeichnis des Moduls erstellen.

Im Ordner CustomModule ist die folgende Struktur normalerweise enthalten:

  • CustomModule.php : Die Kernklasse des Moduls, die das grundlegende Verhalten definiert.
  • language Ordner: Sprachpaketdatei, Support Lokalisierung.
  • metadata Ordner: Enthält Informationen wie Felddefinition, Datenbankstruktur usw.

Modulklasse definieren

In CustomModule.php definieren wir die Hauptklasse des Moduls und erben SugarBean -Klasse. Der Beispielcode lautet wie folgt:

 
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

class CustomModule extends SugarBean
{
    // Modulname
    public $module_name = 'CustomModule';

    // Datentabellenname
    public $table_name = 'custom_module';

    // Modulobjekt alias
    public $object_name = 'CustomModule';

    // Primärschlüsselfeld
    public $object_field = 'id';

    /**
     * Konstruktor
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Implementieren Sie die Schnittstelle
     */
    public function bean_implements($interface)
    {
        switch ($interface) {
            case 'ACL': return true;
        }
        return false;
    }
}

Definieren Sie die Feldstruktur

Die Felddefinition des Moduls wird normalerweise im Ordner metadata platziert, z. B. das Erstellen einer custom_module.php -Datei mit dem folgenden Inhalt:

 
<?php
$dictionary['CustomModule'] = array(
    'table' => 'custom_module',
    'fields' => array(
        array(
            'name' => 'id',
            'type' => 'id',
            'required' => true,
            'len' => 36,
        ),
        array(
            'name' => 'name',
            'type' => 'varchar',
            'len' => 255,
            'required' => true,
        ),
        // Weitere Felddefinitionen können hinzugefügt werden
    ),
    'indices' => array(
        array(
            'name' => 'custom_module_pk',
            'type' => 'primary',
            'fields' => array('id'),
        ),
    ),
);

Datenbankvorgänge durchführen

SuiteCRM bietet reichhaltige Klassen und Methoden zum Betrieb von Datenbanken, z. B. Hinzufügen, Löschen, Ändern und Überprüfen mit SugarQuery und BeanFactory . Im Folgenden finden Sie Beispiele für gemeinsame Operationen:

Abfragedaten

 
$query = new SugarQuery();
$query->from(BeanFactory::getBean('CustomModule'));
$query->select(array('id', 'name'));
$query->where()->equals('name', 'John Doe');
$result = $query->execute();

Daten erstellen

 
$customModule = BeanFactory::newBean('CustomModule');
$customModule->name = 'John Doe';
$customModule->save();

Daten aktualisieren

 
$customModule = BeanFactory::getBean('CustomModule', '12345678-1234-1234-1234-1234567890ab');
$customModule->name = 'Jane Doe';
$customModule->save();

Daten löschen

 
$customModule = BeanFactory::getBean('CustomModule', '12345678-1234-1234-1234-1234567890ab');
$customModule->mark_deleted('12345678-1234-1234-1234-1234567890ab');

Zusammenfassen

In diesem Artikel werden die wichtigsten Schritte bei der Entwicklung benutzerdefinierter Module in SuiteCRM mithilfe von PHP vorgestellt, einschließlich Modulerstellung, Klassendefinition, Feldstruktureinstellung und Datenbankbetriebsmethoden. Durch die Beherrschung dieser grundlegenden Prozesse können Entwickler die CRM -Funktionen flexibel nach den tatsächlichen Bedürfnissen erweitern und ein Managementsystem erstellen, das Geschäftsprozessen entspricht.