現在の位置: ホーム> 最新記事一覧> PHPを使用してSuiteCRMスケジュール機能を拡張して、よりスマートなリマインダーと管理を実現する方法

PHPを使用してSuiteCRMスケジュール機能を拡張して、よりスマートなリマインダーと管理を実現する方法

gitbox 2025-06-15

SuiteCRMスケジュール管理最適化ガイド:PHPを介したより効率的な機能拡張

SuiteCRMは、あらゆる種類の企業で広く使用されている強力なオープンソース顧客関係管理(CRM)システムです。その中で、スケジュール管理モジュールは、会議の手配、問題やその他のタスクを思い出させるために使用され、ユーザーの日常業務のための重要なツールです。ただし、デフォルトでSuiteCRMによって提供される機能は、実際のビジネスニーズを完全に満たしていない場合があるため、PHPを使用して拡張して、エンタープライズシナリオにより適した管理方法を実現できます。

カスタムフィールドを追加して、スケジュール情報を拡張します

デフォルトでは、SuiteCRMの「スケジュール管理」モジュールは、トピックを満たしたり、開始時間や終了時間などの基本情報を記録できます。ビジネス関連のフィールド(顧客コーディング、会議の場所、担当者など)を追加する場合は、カスタムフィールドを追加して拡張できます。

「会議」モジュールにカスタムフィールドを追加するコード例を次に示します。

<?php
$dictionary['Meeting']['fields']['custom_field'] = array(
    'name' => 「custom_field」、
    「ラベル」=>「カスタムフィールド」、
    &#39;vname&#39; => &#39;lbl_custom_field&#39;、
    &#39;type&#39; => &#39;varchar&#39;、
    &#39;len&#39; => &#39;255&#39;、
    「デフォルト」=> &#39;&#39;、
    「MassUpdate」=> 0、
    &#39;no_default&#39; => false、
    「コメント」=> &#39;&#39;、
    &#39;help&#39; => &#39;&#39;、
    「インポート可能」=>「True」、
    「しなければならない」=> false、
    「可能なレポート」=> true、
    &#39;audited&#39; => false、
    &#39;duplicate_merge&#39; => &#39;disabled&#39;、
    &#39;duplicate_merge_dom_value&#39; => &#39;0&#39;、
    &#39;merge_filter&#39; => &#39;disabled&#39;、
    &#39;unified_search&#39; => false、
    「計算します」=> false、
);
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;full_text_search&#39;] = array(
    「有効」=> true、
    「ブースト」=> 0.5、
    「検索可能」=> true、
);
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;duplicate_merge&#39;] = &#39;enabled&#39;;
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;duplicate_merge_dom_value&#39;] = &#39;1&#39;;
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;calculated&#39;] = false;
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;しなければならない&#39;] = false;
$ dictionary [&#39;Meeting&#39;] [&#39;fields&#39;] [&#39;custom_field&#39;] [&#39;audited&#39;] = false;

フィールドが追加されたら、次のコマンドを実行してシステム修理を実行します。

 php -f bin/sugarcrm修理

次に、SuiteCRMの背景の「レイアウト管理」で、新しいフィールドを適切な位置にドラッグします。

PHPカスタムスケジュールリマインダー関数を実装します

ユーザーエクスペリエンスと作業効率を高めるために、SuiteCRMのロジックフックメカニズムに基づいてカスタムリマインダーロジックを追加することもできます。以下は、リマインダー関数を実装するための基本的な手順です。

まず、モジュールのlogic_hooks.phpファイルにリマインダーロジックを登録します。

<?php
$hook_version = 1;
$hook_array = array();
$hook_array['before_save'] = array();
$hook_array['before_save'][] = array(
    10,
    'reminder',
    'custom/modules/Meetings/reminder.php',
    'reminder',
    'beforeSave',
);

次に、指定されたディレクトリにreminder.phpファイルを作成し、次のロジックを追加します。

<?php
class reminder {
    function beforeSave($bean, $event, $arguments) {
        $before_save_custom_field = $bean-> custom_field;

        //実際の要件に従って拡張します。ここでは、logs file_put_contents( &#39;reminder.log&#39; &#39;、$ before_save_custom_field。 "\ n"、file_append)の例のみを印刷します。
    }
}

このように、ユーザーが会議レコードを保存するたびに、システムは設定されたビジネスロジックに基づいてリマインダーロジックを自動的にトリガーします。また、電子メールやSMSインターフェイスなどのサードパーティAPIを組み合わせて、リマインダー関数をさらに拡張することもできます。

要約します

カスタムフィールドを追加して論理フック関数を作成することにより、SuiteCRMのスケジュール管理関数はより柔軟で強力になります。これは、企業がより正確な情報記録を達成するのに役立つだけでなく、自動化されたオフィスとインテリジェントなリマインダーシステムの将来のドッキングの基礎を築くのにも役立ちます。