This extension allows you to group multiple custom field groups into a single tab on the CiviCRM contact summary page. Instead of having each custom field group create its own tab, you can assign the same "Tab Name" to multiple groups and they will all appear together in one unified tab.
- Tab Name Field: Adds a "Tab Name" field to custom group settings
- Order within Tab: Allows setting the order of groups within the same tab
- Automatic Grouping: Multiple custom groups with the same tab name are automatically grouped together
- Collapsible Sections: Each custom group within a tab is displayed as a collapsible accordion for better organization
- Edit Links: Quick edit buttons for each custom group section
- Backwards Compatible: Doesn't affect existing custom groups without tab names
- Full Width (100%): Traditional stacked layout
- Half Width (50%): Two-column display
- Third Width (33%): Three-column grid
- Quarter Width (25%): Four-column compact view
- Stack (Default): Traditional vertical arrangement
- Float Left: Position groups to the left side
- Float Right: Position groups to the right side
- Allow Float: Maximum layout flexibility
Before this extension:
- Custom Group "Contact Extras" → Separate tab
- Custom Group "More Contact Extras" → Another separate tab
- Custom Group "Additional Info" → Yet another tab
- Result: Too many tabs cluttering the contact summary page
After this extension:
-
Custom Group "Contact Extras" → Tab Name: "Other Stuff", Layout Width: Half (50%), Float: Left
-
Custom Group "More Contact Extras" → Tab Name: "Other Stuff", Layout Width: Half (50%)m Float: Right
-
Custom Group "Additional Info" → Tab Name: "Other Stuff", Float: default
-
Result: All three groups display together in a single "Other Stuff" tab
-
Contact Extraa,More Contact Extraswith side-by-side groups
-
Download or clone this repository
-
Place the extension folder in your CiviCRM extensions directory:
/path/to/civicrm/ext/com.skvare.customtabgrouping/ -
Navigate to Administer » System Settings » Extensions
-
Click Refresh to detect the new extension
-
Find "Custom Tab Grouping" and click Install
cd /path/to/civicrm/ext/
git clone [repository-url] com.skvare.customtabgrouping
cv en customtabgrouping-
Navigate to Administer » Customize Data and Screens » Custom Fields
-
Create or edit a custom field group
-
In the custom group settings:
- Set Used For: Contacts (or appropriate entity)
- Set Display Style: Tab or Tab with table
- Enter a Tab Name: e.g., "Other Stuff"
- (Optional) Set Order within Tab to control the order of groups within the tab
- Save the custom group
-
Repeat for other custom groups you want to group together, using the same Tab Name
-
View any contact summary page to see the grouped tabs in action
Custom Group 1:
Name: Contact Extras
Display Style: Tab
Tab Name: Other Stuff
Custom Group 2:
Name: More Contact Extras
Display Style: Tab
Tab Name: Other Stuff
Custom Group 3:
Name: Additional Info
Display Style: Tab
Tab Name: Other Stuff
All three groups will appear in a single "Other Stuff" tab on the contact summary page.
The extension adds two columns to the civicrm_custom_group table:
ALTER TABLE civicrm_custom_group
ADD COLUMN tab_name VARCHAR(255) NULL DEFAULT NULL
COMMENT 'Name of the tab where this custom group should appear';
ALTER TABLE civicrm_custom_group
ADD COLUMN tab_group_order int NOT NULL DEFAULT '1'
COMMENT 'Controls display order when multiple groups share the same tab'This column is automatically added during installation and removed (optionally) during uninstallation.
- Currently only works for Contact custom groups (can be extended to other entities)
- Tab weight is calculated as average of grouped items (may need manual adjustment)
- Custom groups without a tab name continue to work as before
- Clear CiviCRM cache: Administer » System Settings » Cleanup Caches and Update Paths
- Ensure extension is enabled
- Check browser console for JavaScript errors
- Verify all custom groups have exactly the same tab name (case-sensitive)
- Ensure Display Style is set to "Tab" Or "Tab with table" for groups you want to show in the tab
- Clear browser cache and CiviCRM cache
- Check that custom groups are active
The extension needs permission to alter the database schema. Ensure your CiviCRM database user has ALTER privileges.
- Navigate to Administer » System Settings » Extensions
- Find "Custom Tab Grouping" and click Disable
- Click Uninstall
Note: Uninstalling will remove the tab_name and tab_group_order columns from the database. Any tab name values will be lost.
- Create multiple custom field groups
- Assign same tab name to multiple groups
- Assign Order within Tab
- View contact summary page
- Verify all grouped fields appear in single tab
- Test edit functionality for each group
- Test with different field types (text, date, select, etc.)