2017-05-18 1 views
1

J'ai besoin de la prochaine chose dans SuiteCRM: lorsque je sauvegarde un contact (remplir son prénom et son nom), je dois avoir dans un champ raccourci le prénom. Par exemple, à la place de John Smith, j'ai besoin de J.Smith.Logic hook dans Contacts modulle

j'ai fait le code suivant:

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

Mais cela n'a pas fonctionné. Aidez-moi, s'il vous plaît.

+0

Avez-vous ajouté ceci au fichier custom/modules/Contacts/logic_hooks.php? – johnmccuk

+0

@johnmccuk oui, bien sûr. et fait réparation rapide et construire –

+0

vous n'avez certainement pas besoin de la partie $ bean-> save(), cela pourrait provoquer des boucles infinies. – johnmccuk

Répondre

3

Voulez-vous profiter des informations fournies, la commande/modules/Contacts/fichier logic_hooks.php devrait contenir quelque chose de similaire à:

$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']; 

Et le fichier doit être

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

Cela devrait fonctionner. ..

+0

merci pour votre réponse, mais cela ne fonctionne toujours pas :( –

+0

est le crochet logique tirant? Si vous faites un var_dump() dans la méthode getShortName est-il montrant? – johnmccuk

+0

oui, j'ai essayé juste pour le test sth comme $ bean -> short_name = $ bean-> last_name et ça marche.Mais quand j'ajoute la fonction substr, ça ne marche pas –