Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour développer des modules personnalisés pour SuiceCrm

Comment utiliser PHP pour développer des modules personnalisés pour SuiceCrm

M66 2025-05-30

Introduction à SaceCrm

SaceCrm est un système Open Source Enterprise Customer Relationship Management (CRM) avec des fonctions riches et une personnalisation élevée, adaptée aux petites et moyennes entreprises et aux grandes organisations. Grâce à son architecture flexible, les développeurs peuvent effectuer un développement secondaire et une expansion des modules en fonction des besoins spécifiques.

Préparations avant le développement

Avant le développement du module, assurez-vous que vous avez construit un environnement SaceCrm et que vous avez des autorisations d'accès et de développement système correspondantes. Dans le même temps, les connaissances de programmation PHP de base sont nécessaires pour comprendre et appliquer des exemples de code pertinents.

Créer des modules personnalisés

Pour créer un module personnalisé, vous devez créer un nouveau répertoire de module sous le répertoire custom/modules . Par exemple, nous pourrions créer un dossier nommé CustomModule comme répertoire racine du module.

Dans le dossier CustomModule , la structure suivante est généralement incluse:

  • CustomModule.php : La classe de base du module, définissant le comportement de base.
  • Dossier language : fichier de package de langue, localisation de support.
  • Dossier metadata : contient des informations telles que la définition de champ, la structure de la base de données, etc.

Définir la classe des modules

Dans CustomModule.php , nous définissons la classe principale du module et héritons SugarBean fournie par SATISECRM. L'exemple de code est le suivant:

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

class CustomModule extends SugarBean
{
    // Nom du module
    public $module_name = 'CustomModule';

    // Nom de la table de données
    public $table_name = 'custom_module';

    // Alias ​​objet du module
    public $object_name = 'CustomModule';

    // Champ de clé primaire
    public $object_field = 'id';

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

    /**
     * Implémenter le jugement d&#39;interface
     */
    public function bean_implements($interface)
    {
        switch ($interface) {
            case 'ACL': return true;
        }
        return false;
    }
}

Définir la structure du champ

La définition de champ du module est généralement placée dans le dossier metadata , comme la création d'un fichier custom_module.php , avec le contenu suivant:

 
<?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,
        ),
        // Plus de définitions de champ peuvent être ajoutées
    ),
    'indices' => array(
        array(
            'name' => 'custom_module_pk',
            'type' => 'primary',
            'fields' => array('id'),
        ),
    ),
);

Effectuer des opérations de base de données

SuiceCrm fournit des classes et méthodes riches pour faire fonctionner des bases de données, telles que l'ajout, la suppression, la modification et la vérification de l'utilisation SugarQuery et BeanFactory . Voici des exemples d'opérations courantes:

Données de requête

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

Créer des données

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

Mettre à jour les données

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

Supprimer les données

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

Résumer

Cet article introduit les étapes clés du développement de modules personnalisés dans SATECRM à l'aide de PHP, y compris la création de modules, la définition de classe, le paramètre de structure de champ et les méthodes de fonctionnement de la base de données. En maîtrisant ces processus de base, les développeurs peuvent développer de manière flexible les fonctions CRM en fonction des besoins réels et créer un système de gestion conforme aux processus métier.