Metadata and Templates for custom modules

Hi All,

I am customizing Suitecrm with some custom modules.

I created a company module which is based on the inbuilt company module

I am a bit confused whether to customize the display with Smarty templates or with Metadata. What is the limitation of customizing the user interface (create, delete and list companies) with metadata? Why and where should I use templates and where should i limit the customization to metadata?
For example can I create sub-panels with smarty templates - or is it easier to use metadata?

Can both metadata and smarty be used together? How does the core suitecrm treat this -> i.e. read the metadata first and then use the smarty template? Or is one ignored in favor of the other?

Any help is appreciated.

Thanks

Hi, welcome!

I really recommend using the existing modules (in this case, Accounts) as much as possible. These modules are very tied in to other modules, and you get a ton of additional functionality by using the built-in modules, and then customizing only to extend to meet your needs.

This post (well, the beginning, not all of it) might give you some idea of the approach I recommend:

https://pgorod.github.io/Concepts-Accounts-Contacts/

Then you should customize with Studio, and if necessary with code changes using metadata. Not Smarty.

Thanks for the reply.

So I am not sure, if it si possible to display a different user interface with metadata? For example styling the list table completely different from the standard tables -e.g. different buttons styles, pagination, header styles - colors, font, etc?

IF yes, where can I find documentation for styling my own tables for custom modules with metadata?

If you want to do extensive customizations I guess you should be reading the full Developer guide

https://docs.suitecrm.com/developer/

This is full open-source, so ANY customization is possible. But it can get complex, so I would try to start with small things and learn as you go along. Remeber that SuiteCRM is an app that writes itself - screens are changeable form Studio, and then there is the add-ons system, it is extensible. So it is complex when you go “under the hood”.