SugarCRM Custom Fields

'Tis the week for code snippets it seems - actually its mostly that I'm working with SugarCRM in anger for the first time and falling into a few traps. Due to the unique way in which this product is funded, there is a lot less community support around than I'd expect for a product this size.

Today I attempted to create custom fields for the first time, which should have been much easier than it was. The first problem was that all the tutorials deal with earlier versions of Sugar and the interface has changed. The second problem was that I kept on getting lots of errors when I tried to create a custom field. The errors were Javascript errors but when I looked in my apache error log there were lots of these:

PHP Warning:  LanguageManager::include(cache/modules/ModuleBuilder/language/en_us.lang.php) [<a href='function.LanguageManager-include'>function.LanguageManager-include</a>]: failed to open stream: No such file or directory in .../include/SugarObjects/LanguageManager.php on line 91, referer: ...
index.php?module=ModuleBuilder&action=index&type=studio

On closer inspection I realised the cache directory was empty. I made this writeable by the apache user and everything started working after that.

Custom Field Creation

Here's a very quick run through on the steps that I followed. From the home screen, go into the admin section and then click on "Studio". In the left-hand pane, expand the folder for the module you want to add things to and click on "Fields". At this point you should read the help entries in the right hand screen but for the impatient: Click on "Add Field", enter the field details and click on "Save". The field name gets saved with a suffix of "_c" and should appear in the central pane under "custom". If it doesn't, see above for my comments about the cache directory.

The new field needs to be added to the layout before you will see it - this seems to fool a lot of people and I must admit I would have missed this myself if I hadn't read it on the forums. Once you have created your field, go back to the tree view on the left and choose which layouts you'd like to be able to see your field in. Again there is help on the right hand panel but basically you drag the "new row" thing from the left hand column in the central panel to the right hand column in the central panel, and then drop your new field on top of it.

Hope this helps, its taken me quite a while to get to grips with what should be fairly simple. I'll add a final note to say that the custom fields are available through the SOAP API - just remember their names get suffixed with a "_c".

7 thoughts on “SugarCRM Custom Fields

  1. Thanks a lot for the tutorial, it is well written.

    I'm having the following problem:

    I can see the new field in my lead input form, I can fill the field but it does not seem to save the data on the DB.

    The new fields wont appear on the detailed view even though I published them in Studio as you explain above

    any help you can give me is deeply appreciated

  2. I like Your Article very much About SugarCRM Development. and this Info is very Informative and most useful for me. Thanks for share this valuable Information.

Leave a Reply

Please use [code] and [/code] around any source code you wish to share.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>