2017-05-18 1 views
1

Ich brauche das nächste in SuiteCRM: Wenn ich einen Kontakt speichern (füllen Sie seinen Vornamen und Nachnamen) muss ich in einem Feld gekürzte Vornamen haben. Zum Beispiel brauche ich statt John Smith J. Smith.Logic Hook in Kontakte modulle

habe ich den nächsten Code:

class contactShortName 
{ 
    function getShortName($bean, $event, $arguments) 
    { 
     $bean->short_name = substr($bean->first_name,0,1) . '.' . $bean->last_name; 
     $bean->save(); 
    } 
} 

Aber es hat nicht funktioniert. Hilfe bitte.

$hook_version = 1; 
$hook_array = Array(); 
$hook_array['before_save'] = Array();  
$hook_array['before_save'][] = [1, 'Set short name', 'path/to/contactShortName.php', 'contactShortName', 'getShortName']; 

Und die Datei sollte

class contactShortName 
{ 
    function getShortName($bean, $event, $arguments) 
    { 
     $bean->short_name = substr($bean->first_name,0,1) . '.' . $bean->last_name; 
    } 
} 

, die funktionieren sollte:

+0

Haben Sie das zur Datei custom/modules/Contacts/logic_hooks.php hinzugefügt? – johnmccuk

+0

@johnmccuk ja, natürlich. und haben schnell repariert und bauen –

+0

Sie nicht unbedingt die $ bean-> save() Teil, dies könnte zu unendlichen Schleifen führen. – johnmccuk

Antwort

3

mit den Informationen gehen zur Verfügung gestellt, die custom/modules/Kontakte/logic_hooks.php Datei etwas ähnliches enthalten sollte. ..

+0

danke für Ihre Antwort, aber es funktioniert immer noch nicht :( –

+0

ist die Logik hook feuern? Wenn Sie eine var_dump() innerhalb der getShortName-Methode zeigt es? – johnmccuk

+0

ja, ich habe versucht nur für den Test etw wie $ Bohne -> short_name = $ bean-> last_name und es hat funktioniert, aber wenn ich substr Funktion hinzufüge, funktioniert es nicht –