2016-07-07 1 views
2

이것이 sugarCRM/suiteCRM을 코딩하기위한 첫 시도입니다.작업을 생성하거나 업데이트 할 때 suiteCRM에 로직 훅을 추가하려고 시도합니다.

저는 Wordpress를 거의 10 년 동안 코딩 했었지만 이제는 완전히 잃어 버렸습니다. 이제는 SuiteCRM을 파헤 치기 시작했습니다.

난 당신이 데이터베이스에 저장 한 후 데이터를 수정하는 논리 후크를 추가 할 수 있습니다 읽었습니다,하지만 어디서부터 시작 몰라요 ...

, 나는 오늘 작업을 만들 상상 7 월 7 일에 2 개월마다 방문하는 고객과 관련하여 계정에 '방문 빈도'라는 입력란이 있습니다. 미래의 날짜 (7 월 7 일 + 60 일 = 7 월 7 일 aprox)를 작업의 "Future Visiting Date"필드에 추가하고 워크 플로를 통해 특정 미래의 작업을 생성하는 데 사용할 수 있습니다.

내가하려고하는 것은 작업의 필드 (미래 방문 날짜)를 계산하는 것입니다. 이는 작업 모듈의 필드 (방문 빈도)가 작업의 날짜 필드에 추가 된 일 수와 같습니다.

나는 다음과 같은 레이아웃을 사용하여 작동하게 할 수있었습니다 :

<?php 

$hook_version = 1; 
$hook_array['before_save'] = Array(); 

$hook_array['before_save'][] = Array(
    1, //Processing index. For sorting the array. 
    'future_task_date_on_task_creation', //Label. A string value to identify the hook. 
    'custom/modules/Tasks/future_visit_date.php', //The PHP file where your class is located. 
    'before_save_class', //The class the method is in. 
    'future_visit_date' //The method to call. 
); 

?> 

내부 \ 사용자 정의 \ 모듈 \ 작업 \ future_visit_date.php

<?php 

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

class before_save_class { 

    function future_visit_date($bean, $event, $arguments) { 
     $bean->rhun_fecha_sig_c = date("Y-m-d H:i:s", $date); 
    } 

} 

?> 

\custom\modules\Tasks\logic_hooks.php 내부를 이 설정을 사용하면 미래의 방문 날짜가 계산 된 날짜로 채워집니다.

나는이 설정이 권고하지 않습니다 읽었습니다, 나는 확장 프레임 워크를 사용하고이 경로에서 첫 번째 파일을 넣어 것을 :

/custom/Extension/modules/Tasks/Ext/LogicHooks/<file>.php 

하지만 그것은 작동 할 수 없습니다.

LogicHooks 폴더가 없으면 만들어야합니까? 이 파일에 어떤 파일 이름을 지정해야합니까? 코드 내에서 다른 것을 변경해야합니까?

답변

2

예, LogicHooks 디렉토리가 없으면 만듭니다. PHP 파일은 원하는대로 호출 할 수 있습니다.

/custom/Extension/modules/Tasks/Ext/LogicHooks/MyLogicHookFile.php는

는 전에이 파일에 논리 후크를 정의합니다.

<?php 

$hook_version = 1; 
$hook_array['before_save'] = Array(); 

$hook_array['before_save'][] = Array(
    1, //Processing index. For sorting the array. 
    'future_task_date_on_task_creation', //Label. A string value to identify the hook. 
    'custom/modules/Tasks/future_visit_date.php', //The PHP file where your class is located. 
    'before_save_class', //The class the method is in. 
    'future_visit_date' //The method to call. 
); 

그런 다음 관리자 패널에서 복구 및 재 작성을 실행하십시오.

확장 프레임 워크를 사용할 때의 주요 이점은 여러 개발자가 기존 코드를 덮어 쓰지 않고도 Sugar 인스턴스에 구성 요소를 추가 할 수 있다는 것입니다.
Developer Guide

+0

덕분에 더 많은 정보를 찾을 수 있습니다. –

관련 문제