SugarCRM 7 is here and it is time to start digging under the hood. Along with it is a whole new, powerful way of customizing SugarCRM. This is a good thing. It’s an opportunity to rewrite our add-ons for our users which is one of those things developers always say that we’ll get to some time.
We will be posting our findings here as we learn more about what’s under the hood and available to all of us SugarCRM developers. What we share may not be the best way of doing the job. Please do share if you know of a better, or right, way to do something. If you have something that you find interesting and think someone else may as well, please let us know.
Let’s get under the hood and get to work. I’m going to keep it high level in this example. For more information on the new architecture please check out the Sugar Developer Guide 7.0.
With the user profile dropdown I want to add a menu item that links to a wiki on the corporate intranet.

This dropdown exists under /clients/base/views/profileactions/profileactions.hbs which is a Handlebars template. Handlebars is a great client-side templating system useful for generating layouts on the fly. We actually use Handlebars quite a bit on SugarOutfitters.
Copy this file over to the custom directory at /custom/clients/base/views/profileactions/profileactions.hbs and add the wiki link to the bottom of the list. I have hardcoded the label in this case. Follow the pattern above to use a language string instead. Make sure to add the label to the application strings.
NOTE: Make sure Developer Mode is turned on. It’ll save you a ton of headaches.
Next, refresh the browser and check out the dropdown:

Now we have our custom menu item. Next time we will pass some data to the menu to link to the current user’s own wiki-page.
Edit: 7.1.6+
Things have changed a bit since this original post. Here is one way that we have found works (last tested as of 7.2.2.0):
Copy the files in /clients/base/views/profileactions to a new directory in /custom/clients/base/views/wiki-profileactions. Rename all the files to match this new view (e.g. wiki-profileactions.hbs, wiki-profileactions.js, wiki-profileactions.php). Add the menu link as described above to wiki-profileactions.hbs.
Edit wiki-profileactions.js:
Edit wiki-profileactions.php:
Copy /clients/base/layouts/header/header.php to /custom/clients/base/layouts/header/. Edit the custom header.php:
-
Introduction to SugarBPM
FEATUREDLearn how to use SugarBPM with SugarU! -
Xero Integration for Sugar by Faye
FEATUREDOur SugarCRM Xero Integration by Faye allows users to automate critical processes, reduces the duplication of efforts, and maintains data integrity across sales, CRM, and accounting functions. -
Liferay Portal
FEATUREDLiferay’s flexible Portal solution will enable your customers, partners, or distributors via a user-friendly portal to communicate and receive real-time support from your organization using Suga... - Show more addons