2017-01-11 3 views
1

リードモジュールのフィールドに10進数型の数値を格納する「interested_c」というフィールドがあります。Leadsの 'Campaign'サブパネルの情報に基づいてSugarCRM/SuiteCRMに論理フックを作成するにはどうすればいいですか?

ここにリードモジュールのキャンペーンサブパネルの詳細があります。

Leads Details View

1つのレコードは、クリックスルーURL(追跡)である(iink)と '関連' 対応=アクティビティタイプを有しています。

私はおそらく、それぞれのoccuranc上の条件として、両方の情報を使用することができれば、リードモジュールのロジックフック、作成したい:インクリメンタル値はカスタムフィールド」に追加され 、

if Activity Type = Click-thru (link) and other 'related' = <urlxyz>interested_c '

どのようにこのような論理フックを作成できますか?役に立つかもしれ情報のいくつかの作品があります

  1. は、この「キャンペーン」サブパネルは、モジュールからのほとんどのデータを取得している:CampaignLog(キャンペーンと関係を持っています)。 【対応するMySQLの表:campaign_log]
  2. これらの変数はsuitecrmのvardefs.phpに定義されている>モジュール> CampaignLog>私の頭の上からVardefs of the fields concerned here

答えて

2

、及びmodules/Accounts/AccountsJjwg_MapsLogicHook.phpから関連フィールド論理フック例を使用:

作成二つのファイル:

custom/modules/Leads/logic_hooks.php 
custom/modules/Leads/LeadsLogicHooks.php 

logic_hooks.php:

<?php 
$hook_version = 1; 
$hook_array = Array(); 
$hook_array['before_save'][] = Array(51, 'updateCounter', 
'custom/modules/Leads/LeadsLogicHooks.php', 'LeadsLogicHooks', 'updateCounter'); 
?> 

LeadsLogicHooks.php:

<?php 
if (!defined('sugarEntry') || !sugarEntry) die('Not a valid Entry Point'); 
class LeadsLogicHooks{ 
function updateCounter(&$focus, $event, $arguments){ 
    require_once('custom/modules/CampaignLog/CampaignLog.php'); 
    $campaigns = $bean->get_linked_beans('campaign', 'Campaign'); 
    foreach ($campaigns as $campaign) { 
    if ($campaign->activity_type == "Click-thruLink" && !empty($campaign->related_type)) { 
      $focus->interested_c += 1; 
    } #if 
    } #for 
} #function 
} #class 
関連する問題