This is probably easiest, if you matched template_group
names to channels
or sections
of the site. You would basically create a custom query, that pull just not excluded channels. This assumes, there are some channels, where data is combined into a different section, or that are used for utility purposes, like sectional_text
or transactions
, etc.
SELECT channel_title, channel_description, channel_name, channel_url, total_entries
FROM exp_channels
WHERE channel_id
NOT IN ('15','14','13','9','2','17','4')
ORDER BY FIELD(channel_name,'item2','item5','item4','item1');
You can also custom order them as needed. You don't need to pull channel_description
and other options if they won't be used.
You'd, of course still need the run the subqueries for generation, the page listings under the main section
navigation. But that should get you started. The primary point is to use MySQL's NOT IN
so you can list out the excluded items, since they are far less likely to change.
Though it occurs to me, if you don't have clients creating new template groups, why would you have them creating new channels. So this response, probably isn't exactly what you are looking for.