The sub-items list: 129 columns, presets and CSV export
This page is for editors who want to see more about the items in a folder, and for administrators and developers who set defaults or add columns. The sub-items list in the node view used to offer fifteen fixed columns. In 6.0.15 columns are a registry: the fifteen old ones, 114 new ones in groups, and every attribute of the content classes in the list, without any setting. Each user chooses, reorders and saves their columns; administrators define defaults and presets. Added 2026-10-02.
The full catalogue, performance numbers and how to write a column are in the guide Sub-items table options.
Use it
- Open any node with sub-items and click Table options.
- Filter the grouped list (Basic, Node, Object, Version, Location, URLs, SEO, Dates, People, Relations, Translations, Workflow, Users, Media, Technical, Custom), tick columns, and drag them to reorder.
- Choose a preset or a page size (10, 25, 50, 100).
- Export the visible columns as CSV if you need them in a spreadsheet. Click a cell with the copy mark to copy its value.
The choice is stored per user on the server. admin and admin4 load the column list from the server; admin2,
admin3 and sevenx_site_admin use admin's template. Without the new server functions the table works as before.
Custom page size
Besides the preset page sizes of PageSizes[], the Table options panel has a Custom field (since June 2026;
the label comes from design/admin/templates/children_detailed.tpl).
- Choose Custom under items per page.
- Type a whole number from 1 to 10000 and press Enter.
The list reloads at once with exactly that many rows. Anything else is refused with a message, and the previous size stays. Use it for bulk work on exactly the rows on screen (select all, then move, copy or hide), for export checks that need a precise slice, or to test how a folder behaves at a given size. The page size is a user preference; see pagination settings. The page "Custom items per page" is merged into this one.
Add a column in three minutes
Add a block to
settings/override/subitemscolumns.ini.append.php, naming a callable, a class or a template:[Column_myprefix_nodeid_hex] Name=Node ID (hex) Group=Custom Type=text Handler=MyColumns::nodeHex Copy=trueWrite the handler in your extension's
classes/folder:class MyColumns { public static function nodeHex( $node, $settings, $column ) { return dechex( (int)$node->attribute( 'node_id' ) ); } }Regenerate autoloads and clear the INI cache:
php bin/php/ezpgenerateautoloads.php -e php bin/php/ezcache.php --clear-tag=ini --allow-root-userOpen Table options: the column "Node ID (hex)" is listed under Custom.
Other keys a column block can carry: Class= (a subclass of expSubitemsColumn), Template=design:...tpl,
SortField=, Policy[], Description=, Align=right, Order=. The header of the shipped
settings/subitemscolumns.ini lists every key.
Settings
| File | Block | Key | Default | Scope |
|---|---|---|---|---|
settings/subitems.ini | SubitemsSettings | DefaultColumns[] | name;published;translations;priority | installation |
settings/subitems.ini | SubitemsSettings | AttributeColumns | enabled | installation |
settings/subitems.ini | SubitemsSettings | AttributeColumnsExcludedDataTypes[] | ezuser | installation |
settings/subitems.ini | SubitemsSettings | CSVExport / CSVLimit | enabled / 5000 | installation |
settings/subitems.ini | SubitemsSettings | PageSizes[] | 10, 25, 50, 100 | installation |
settings/subitems.ini | Preset_<id>, Defaults_<id> | Name, Columns[], Subtree[], ParentClassIdentifiers[] | three presets ship: Preset_seo (SEO), Preset_editorial (Editorial), Preset_technical (Technical); no Defaults_<id> block | installation |
settings/subitemscolumns.ini | Column_<key> | see the guide | 129 columns | installation |
Count the shipped columns:
grep -c "^\[Column_" settings/subitemscolumns.iniExpected output: 129.
Speed
Columns load their data once per page, not once per row (expSubitemsColumn::prefetch()). The data map, version
rows, readable children per parent, children per class, URL alias rows, locations and relation counts each come from
one query for all rows of the page. The guide lists query counts and times for 10, 50 and 100 rows.
For developers
The sub-items table itself is exp::datatable. Its loader is ezajaxsubitems_expdatatable.js, with one copy in
design/admin and one in design/admin4; change both together. The same columns are served as remote services by
expsubitems_svc; the server functions are expSubitemsServerFunctions (see
remote services).
Related pages
- Sub-items table options (guide), pagination settings
- Paging, sorting and page sizes, copy selected sub-items, hide and unhide selected
- The responsive admin design (admin3), the admin4 design, left sidebar width and font size
- Audit trail
- Upgrade checklist of 1-2 October 2026
- 6.0.15 changelog
- History: October 2026, June 2026, second half, June 2025, January 2025, November 2024, October 2024, August 2024
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.