Faster SugarCRM Development with PHPStorm

Posted on Sun 30 April 2017 in sugarcrm • Tagged with sugarcrm, php, phpstorm


Javascript development with SugarCRM can be a bit of a pain, however combining PHPStorm's filewatcher tool with a cut down repair script can speed things up to a more tolerable level.

What this setup does is watch for any javascript changes in our custom/ folder(because you're not making core …

Continue reading

SugarCRM 7 - Conditional Read Only Fields

Posted on Sat 06 February 2016 in SugarCRM

SugarCRM has a few ways to set fields as read-only, but it leaves a lot to be desired. One of the missing features that you might need to implement is having a module flagged as read-only on the record view based on a field on the module or the result …

Continue reading

SugarCRM - Conditional Actions

Posted on Thu 15 October 2015 in SugarCRM


Say you need to hide certain actions in Sugar depending on the status of a field, I've come across a great snippet of code from an awesome comment by Felix Nilam on the SugarCRM forums and wanted to show you a brief snippet of how it could work.

Make sure …

Continue reading

SugarCRM 7 - Adding an action to the listview headerpanel

Posted on Sat 25 July 2015 in SugarCRM • Tagged with php, sugarcrm

A red button with the words "Take action" on it

This tutorial should show you how to add a custom button/action that will appear across all modules. It's a little similar to this tutorial with a few changes to how the button gets rendered and the actions get called.

1. Adding the button to the headerpanel

Firstly you'll need …

Continue reading

SugarCRM - Prevent currencies getting overridden

Posted on Thu 16 April 2015 in SugarCRM


SugarCRM has some neat features involving currency rates, but one of the more annoying ones is that Sugar will automatically update the base rate every time you save a record with a currency field attached. This can be fairly annoying default behaviour if you wish to maintain the correct record …

Continue reading

SugarCRM 7 - Roll SugarCRM with Docker

Posted on Tue 07 April 2015 in SugarCRM • Tagged with docker, devops, sugarcrm


I find trying to replicate the SugarCRM environment locally a real pain. One of the main issues is simply that Sugar requires such old versions of PHP to be installed, especially compared to other web projects I have that implement the latest/greatest versions of PHP. Running multiple PHP versions …

Continue reading

SugarCRM - Git Version Control Strategy

Posted on Mon 10 November 2014 in SugarCRM • Tagged with git, mysql, php, sugarcrm

git-logo I've found SugarCRM an utter pain to work with in terms of version control for a number of reasons, but the most annoying is simply that certain critical elements of the SugarCRM configuration are stored on the database.

Over time I've worked out a system that circumvents this and I've …

Continue reading

SugarCRM 7 - Fix to re-enable ElasticSearch on custom modules

Posted on Thu 18 September 2014 in SugarCRM • Tagged with elasticSearch, sugarcrm


I had an issue in Sugar where some custom modules refused to appear in the Global Search settings, meaning I couldn't index them in ElasticSearch.

When I checked the module oddly enough unified search would be enabled in this file:


1. Re-enable the module

To force …

Continue reading

SugarCRM 7 - Enable Importing on Custom Modules

Posted on Thu 11 September 2014 in SugarCRM


I've been wracking my brain trying to get this guide to work with SugarCRM 7. Add to the fact that it "looks" like this is also how it's done in SugarCRM 7, if you peruse the code under Accounts or Contacts. However it isn't. This is how I've added importing …

Continue reading

SugarCRM 7 - Custom subpanels

Posted on Wed 13 August 2014 in SugarCRM • Tagged with mysql, php, subpanels


This tutorial should hopefully help you to create a new subpanel under the Contacts module in Sugar using a custom link class and driven by SugarCRM 7's new SugarQuery API.

1. Create a new link class

This should go into custom/modules/<YourModule>/YourNewLink.php and this class will act …

Continue reading