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:
-
Upsert® Lens
FEATUREDSearch, monitor, and adjust backend configurations, full-text search indexing, user-tracker activity, scheduler/job queue management, plug-in upgrade history, geocoding queues, and vardef viewer. -
Aircall - Sugar Integration
FEATUREDThe Aircall Integration for Sugar Sell is a quick and efficient way to connect your cloud-based phone system with your CRM instance. Now, sales teams can work in their platform of choice and ensure da... -
Outlook 365 and Sugar Integration
Make life easier by reducing the need to flip between apps. If you are using Outlook Web App, Outlook 2013, or Outlook 2016 connected to Office365 or Exchange Server 2013 then be sure to take advantag... - Show more addons