A module's section in the ACP gets its tabs from what the module has:
| Tab | Shown when the module has |
|---|---|
| Global Config | config.php with settings |
| Quota Config | quota.php, or registered quota_support |
| Tools | a DataStore, or registered tools |
| Language | a lang/ folder |
| Images | an img/ folder |
| Templates | a templates/ folder |
| Info | always |
See Module File Structure for how to add each.
Register it in _init():
jrCore_register_module_feature('jrCore', 'admin_tab', 'xxFoo', 'browse', 'Browse');The tab Browse links to yoursite.com/(module url)/browse. Add the view, views/browse.php, and show the module's tabs on it:
function view_xxFoo_browse($_post, $_user, $_conf)
{
jrUser_master_only();
jrCore_page_include_admin_menu();
jrCore_page_admin_tabs('xxFoo', 'browse');
jrCore_page_banner('Browse');
// ... the page ...
return jrCore_page_display(true);
}jrUser_master_only() stops anyone but master admins. jrCore_page_admin_tabs() shows the tabs with yours active.
For a single task, an entry on the Tools tab is often better than a tab. See Adding to a Module's Tools Tab.
On create views, jrUser_check_quota_access('xxFoo') shows an error if the user's quota isn't allowed the module. The setting itself is quota_xxFoo_allowed (on or off).