Ruby Forum Radiant CMS > r:aggregation and monthly archives

Posted by Oli Studholme (Guest)
on 02.08.2008 03:16
(Received via mailing list)
Hi All,

I$B!G(Bve got three archives that I$B!G(Bm aggregating on a parent
page using r:aggregation. I want to make an aggregate monthly archive
of all child posts for the sidebar. On the archive pages I can list
articles and add per-month headers which link to a monthly archive. On
the parent r:aggregate page I can aggregate all the child archive
articles and add per-day headers, but the same per-month header code
doesn$B!G(Bt work. If I try to make the parent page into an archive
r:aggregate stops working. Adding a monthly archive to the parent page
then trying to access it via /monthly-archive or a date-based url
gives 404s.

Is it possible to get per-month aggregate archives of child archives?
or to fake them somehow?

The code I$B!G(Bm using in the archive pages sidebar is:
http://www.lion-ah.com/ja/blog/photos

<r:find url="/ja/blog/news/"><r:children:each limit="5" order="desc"
by="published_at">
<ol class="archives">
<r:header><h3 class="info"><a href="<r:date format="/ja/blog/news/%Y/
%m/" />"><r:date format="%Y$BG/(B%m$B7n(B" /></a></h3></r:header>
<li class="entry"><r:link /></li>
</r:children:each></r:find>
</ol>

This gives a month header that links to the monthly archive, followed
by each article that month.

Code that works on the r:aggregate parent page sidebar:
http://www.lion-ah.com/ja/blog

<h2>$B:G6a$N%V%m%0(B</h2> <r:aggregate urls="/ja/blog/news; /ja/blog/
articles; /ja/blog/photos"><ol class="archives"> <r:children:each
limit="20" by="published_at" order="desc"> <r:header><h3
class="info"><r:date format="%Y$BG/(B%m$B7n(B%d$BF|(B" /></h3></
r:header> <li class="<r:if_url matches="/(ja|en)/blog/news">news</
r:if_url><r:if_url matches="/(ja|en)/blog/articles">articles</
r:if_url><r:if_url matches="/(ja|en)/blog/photos">photos</r:if_url>
entry"><span class="info"><r:if_url matches="/ja/blog/news"><a href="/
ja/blog/news">$B%K%e!<%9(B</a></r:if_url><r:if_url matches="/ja/blog/
articles"><a href="/ja/blog/articles">$B5-;v(B</a></
r:if_url><r:if_url matches="/ja/blog/photos"><a href="/ja/blog/photos">
$B<L??(B</a></r:if_url></span>$B!!(B<r:link /></li> </
r:children:each> </ol></r:aggregate>

This gives aggregate articles from child archives, with unlinked per-
day headers (and category titles).

Any idea how I$B!G(Bd make an aggregate monthly archive of child
archive articles, then generate per-month links to it? eg

All articles published in:
June 2008
July 2008
August 2008

Thanks in advance

peace - oli

PS Sean you should have answered anyhow - irclogger was covering for
me ;-)