The are 2 stuff to define in a subModule.
1. Module
this.module = "DefaultNewSubModule";
This is for use in the fields and don't overwrite other fields in the
other tabs with the same name (example: title, or id)
2. Widgets
this.gridWidget = phpr.NewSubModule.Grid;
this.formWidget = phpr.NewSubModule.Form;
Define the from and the grid widgets to use.
With this settings, all the links (except you overwrite the function that set the links) will be:
index.php/ this.module /CONTROLLER/ACTION/PARENTID/xx
CONTROLLER = index, someothercontroller, etc
ACTION = jsonList, jsonDetail, jsonSave, jsonDelete
PARENTID = For Minutes => minutesId, for Project => projectId, for Todo => todoId, etc
You can see some examples in the minutes module.
You can add many tabs (subModules) as you want,
each one must be a different folder in the SubModules folder.
About the languages, works as always, with 2 additions:
You need to add the "name" of the module, for be translated,
in our example, $lang['NewSubModule'] = "some text"; (Use for translate the tab),
and for show the Help in the dialog, just add the tab help, since will be added to the module help,
in our example, $lang['Content Help']["New Sub Module'] = "some text";
IMPORTANT: The API provide just the frontend stuff.
For save or get the data from the server you need to make the controller
and the model. (Also a database where save the data).