At the moment I’ve got a main "All News" category which displays articles from folder IDs 22, 7 and 27; and then when clicking the individual categories you get just those articles.
This is some of the category template code. As you can see I’m using a series of IF statements to detect which category we’re on, and then displaying a slightly varied version of getResources - only rally the &parents property changes...
Anyone got any ideas how this could be achieved in a better way?
<!-- Code triggered if on the All News page, including content from categories 22, 7 and 27 -->
[[If? &subject=`[[*id]]` &operator=`IS` &operand=`1` &then=`
[[getResourcesTag?
&element=`getResources`
&tpl=`article.summary`
&pageVarKey=`page`
&parents=`22,7,27`
&includeContent=`1`
&limit=`15`
&showHidden=`0`
&pageLimit=`2`
&includeTVs=`1` &processTVs=`1` &tvPrefix=``
&pageFirstTpl=`<li class="first-page"><a[[+classes]][[+title]] href="[[+href]]">First Page</a></li>`
&pagePrevTpl=`<li class="previous-page"><a[[+classes]][[+title]] href="[[+href]]">Previous Page</a></li>`
&pageNavTpl=`<li class="page"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageActiveTpl=`<li class="page[[+activeClasses:default=` active`]]"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageNextTpl=`<li class="next-page"><a[[+classes]][[+title]] href="[[+href]]">Next Page</a></li>`
&pageLastTpl=`<li class="last-page"><a[[+classes]][[+title]] href="[[+href]]">Last Page</a></li>`
]]
`]]
<!-- Code triggered if on the category 22, only including content from categories 22 -->
[[If? &subject=`[[*id]]` &operator=`IS` &operand=`22` &then=`
[[getResourcesTag?
&element=`getResources`
&tpl=`article.summary`
&pageVarKey=`page`
&parents=`22`
&includeContent=`1`
&limit=`15`
&showHidden=`0`
&pageLimit=`2`
&includeTVs=`1` &processTVs=`1` &tvPrefix=``
&pageFirstTpl=`<li class="first-page"><a[[+classes]][[+title]] href="[[+href]]">First Page</a></li>`
&pagePrevTpl=`<li class="previous-page"><a[[+classes]][[+title]] href="[[+href]]">Previous Page</a></li>`
&pageNavTpl=`<li class="page"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageActiveTpl=`<li class="page[[+activeClasses:default=` active`]]"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageNextTpl=`<li class="next-page"><a[[+classes]][[+title]] href="[[+href]]">Next Page</a></li>`
&pageLastTpl=`<li class="last-page"><a[[+classes]][[+title]] href="[[+href]]">Last Page</a></li>`
]]
`]]
<!-- Code triggered if on the category 7, only including content from categories 7 -->
[[If? &subject=`[[*id]]` &operator=`IS` &operand=`7` &then=`
[[getResourcesTag?
&element=`getResources`
&tpl=`article.summary`
&pageVarKey=`page`
&parents=`7`
&includeContent=`1`
&limit=`15`
&showHidden=`0`
&pageLimit=`2`
&includeTVs=`1` &processTVs=`1` &tvPrefix=``
&pageFirstTpl=`<li class="first-page"><a[[+classes]][[+title]] href="[[+href]]">First Page</a></li>`
&pagePrevTpl=`<li class="previous-page"><a[[+classes]][[+title]] href="[[+href]]">Previous Page</a></li>`
&pageNavTpl=`<li class="page"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageActiveTpl=`<li class="page[[+activeClasses:default=` active`]]"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageNextTpl=`<li class="next-page"><a[[+classes]][[+title]] href="[[+href]]">Next Page</a></li>`
&pageLastTpl=`<li class="last-page"><a[[+classes]][[+title]] href="[[+href]]">Last Page</a></li>`
]]
`]]
<!-- Code triggered if on the category 27, only including content from categories 27 -->
[[If? &subject=`[[*id]]` &operator=`IS` &operand=`27` &then=`
[[getResourcesTag?
&element=`getResources`
&tpl=`article.summary`
&pageVarKey=`page`
&parents=`27`
&includeContent=`1`
&limit=`15`
&showHidden=`0`
&pageLimit=`2`
&includeTVs=`1` &processTVs=`1` &tvPrefix=``
&pageFirstTpl=`<li class="first-page"><a[[+classes]][[+title]] href="[[+href]]">First Page</a></li>`
&pagePrevTpl=`<li class="previous-page"><a[[+classes]][[+title]] href="[[+href]]">Previous Page</a></li>`
&pageNavTpl=`<li class="page"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageActiveTpl=`<li class="page[[+activeClasses:default=` active`]]"><a href="[[+href]]">[[+pageNo]]</a></li>`
&pageNextTpl=`<li class="next-page"><a[[+classes]][[+title]] href="[[+href]]">Next Page</a></li>`
&pageLastTpl=`<li class="last-page"><a[[+classes]][[+title]] href="[[+href]]">Last Page</a></li>`
]]
`]]
[[!+page.nav:notempty=`
<ul id="pagination">
[[!+page.nav]]
</ul>
`]]
Obviously this will get even more messy when more categories are added - and it could get time consuming if the getResources call needs to be edited...