Build more of the site via the WHMCS Admin GUI area.
To some degree I'd imagine that creating custom templates will always require some custom coding, but there are several things about WHMCS that should definitely be easier to do from the admin area WITHOUT having to edit the .tpl files. For example, but not limited to:
- Modifying the menus, changing the menu text, and determining what menu items are available to logged in/not logged in clients.
- Adding pages. A theme could include various .tpl files for optional page templates so that admins could create a page, select a specific page template from a drop-down, and add content via a content editor, ideally wysiwyg but even just markdown style would be helpful.
- "Quick Shortcuts" for cPanel. Why on earth are these hard-coded into the theme? I've spent three days trying to get these to show conditionally based on the client's hosting package and still haven't gotten it where I want it. All we'd need would be a place where we could select the shortcuts that should be displayed depending on the hosting package. Even better if it can detect what features are enabled for that package in WHM and hide shortcuts that are not enabled there. Even more better if I could add custom shortcuts for non-default cPanel modules, such as Cloudflare.
- Email templates - I don't mind having to edit code for the layout and css of emails, but there should be an easy way to edit the content from within the WHMCS settings, as well as add a new custom email that can be chosen from the various "choose email template" drop-downs.
- Email settings - A single place where I can select what emails get sent to clients. When I migrate a client from another hosting platform, I want to move over their site and get their account all set up so that all they have to do is sign in and pay the invoice. But at the moment I have to add clients using a fake email address and then change the email later because there are checkboxes scattered everywhere asking whether to send an email that are easy to forget to un-check, and even when I'm positive I've un-checked them all, I still end up getting emails from clients saying "Umm.... I got this email from your system, am I supposed to do something?" I want to control exactly what emails are sent to clients, when, and whether they get sent at all.
Right now it's a great system but holy hell, is it ever a pain in the butt to set up...