現在の位置: ホーム> 最新記事一覧> PHPを使用したSuiteCRMスケジュール管理を最適化するための完全なガイド

PHPを使用したSuiteCRMスケジュール管理を最適化するための完全なガイド

M66 2025-06-15

SuiteCRMスケジュール管理機能の最適化の紹介

SuiteCRMは、非常にスケーラブルなオープンソースのエンタープライズ顧客関係管理システムです。スケジュール管理モジュールは、毎日のオフィスワークで重要な役割を果たしていますが、実際のアプリケーションでは、デフォルトの関数は多くの場合、エンタープライズユーザーの多様なニーズを完全に満たすことができません。この記事では、カスタムフィールドの追加やユーザーエクスペリエンスと効率を高めるためのリマインダーメカニズムの実装など、PHPを介してこのモジュールを最適化する方法を紹介します。

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

デフォルトでは、SuiteCRMのスケジュールモジュール(会議)は、トピックや時間などの基本情報のみを記録します。アソシエーション番号、ノートタグなど、より多くのビジネスフィールドを追加する場合は、カスタムフィールドを追加してこれを行うことができます。

カスタムフィールドを追加する手順とコードの例は次のとおりです。

  1. 次のコードをカスタム/拡張機能/モジュール/会議/ext/vardefs/new_field.phpに追加します:

 
<?php
$dictionary['Meeting']['fields']['custom_field'] = array(
    'name' => 'custom_field',
    'label' => 'カスタムフィールド',
    'vname' => 'LBL_CUSTOM_FIELD',
    'type' => 'varchar',
    'len' => '255',
    'default' => '',
    'massupdate' => 0,
    'no_default' => false,
    'comments' => '',
    'help' => '',
    'importable' => 'true',
    'required' => false,
    'reportable' => true,
    'audited' => false,
    'duplicate_merge' => 'enabled',
    'duplicate_merge_dom_value' => '1',
    'merge_filter' => 'disabled',
    'unified_search' => false,
    'calculated' => false,
    'full_text_search' => array(
        'enabled' => true,
        'boost' => 0.5,
        'searchable' => true,
    ),
);
  1. 次のコマンドを実行してメタデータを更新します。

 
php -f bin/sugarcrm repair
  1. SuiteCRMの背景にログインし、「レイアウト管理」に「スケジュール管理」を入力し、新しいフィールドをレイアウトビューにドラッグして使用を開始します。

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

スケジュールリマインダーは、効率を改善するための重要な機能です。 SuiteCRMは基本的なリマインダー関数を提供しますが、一部のシナリオでは、カスタムフィールドの値に基づいてさまざまなタイプの通知を送信するなど、より柔軟な制御方法が必要になる場合があります。

以下は、フックメカニズムを介したカスタムリマインダーロジックです。

  1. 次のコードをカスタム/モジュール/会議/logic_hooks.phpファイルに追加します。

 
<?php
$hook_version = 1;
$hook_array = array();
$hook_array['before_save'][] = array(
    10,
    'reminder',
    'custom/modules/Meetings/reminder.php',
    'reminder',
    'beforeSave',
);
  1. カスタム/モジュール/会議/reminder.phpファイルを作成し、次のロジックを書きます。

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

        // サンプルリマインダーロジック,ファイルをログに記述します
        file_put_contents('reminder.log', $before_save_custom_field . "\n", FILE_APPEND);

        // 要件に応じて電子メールを送信するように拡張できます、SMSなど
    }
}

この関数は、スケジュールを保存する前にトリガーされ、ログを記録したり、通知をプッシュしたりするために使用して、チームメンバーがタイムリーにアレンジメントを通知できるようにすることができます。

結論

上記の方法により、SuiteCRMのスケジュール管理モジュールの機能を強化し、コアシステムを変更せずに多様なビジネスニーズを満たすことができます。 PHPを使用してカスタムフィールドとリマインダーを追加すると、柔軟性が向上するだけでなく、エンタープライズの実際のワークフローに近づきます。