Forum: Radiant CMS Displaying Recent Articles

Posted by Obi (Guest)
on 2010-11-08 21:30
(Received via mailing list)
Does anyone know of an extension that will allow me to automatically 
display recent articles with a title and a small excerpt?
Posted by Joel Oliveira (Guest)
on 2010-11-08 21:42
(Received via mailing list)
It's built in.

<r:find url="/news"><!-- or blog, articles, whatever -->
  <ul>
  <r:children:each order="asc" limit="20" >
    <li>
   <p><r:link /></p>
<p class="excerpt"><r:content part="excerpt" /></p>
    </li>
  </r:children:each>
  </ul>
</r:find>

This is off the top of my head so I'm not 100% sure that will work.  But
it's close.
Posted by Obi (Guest)
on 2010-11-08 23:22
(Received via mailing list)
Thanks Joel, I had no idea that was in there!

The code you sent me provides a list of links, is there anyway to format 
it so that it shows a small excerpt for each link, and keeps the site 
formatting styles (header1,2 etc.)?

Basically so it would look like this:

http://img163.imageshack.us/img163/3228/screenshot...

Any pointers would be greatly appreciated
Posted by Joel Oliveira (Guest)
on 2010-11-08 23:31
(Received via mailing list)
You should probably look at some documentation.  For starters:

https://github.com/radiant/radiant/wiki/Radius-Tags
http://radiantcms.org/blog/archives/2006/05/11/tag-primer/

And my example was based on the assumption you had a page part for all 
your
articles/posts called "excerpt".  If you don't have one you'll either 
have
to add one or maybe use something like a text expander plugin of some 
sort
(example: http://plugins.learningjquery.com/expander/)

Good luck!

- Joel
Posted by Rachel Soma (Guest)
on 2010-11-09 00:34
(Received via mailing list)
Use a page part and call that if you want to choose the excerpt or you 
can
use truncate https://github.com/saturnflyer/radiant-truncate-extension 
to
take the first X characters from the article and, well, truncate them.

--
Rachel
Posted by Obi (Guest)
on 2010-11-09 01:04
(Received via mailing list)
Sweet, thanks Rachel, I'll definitely check out that extension.

So far I've gotten the following code to do what I want:

<r:find url="/articles">
<ul class="list2">
  <r:children:each order="asc" limit="20" >
    <li>
         <h3><r:title /></h3>
  <p class="excerpt"><r:content part="excerpt" /></p>
<p><a href="<r:url />">Read this article</a></p>
    </li>
  </r:children:each>
  </ul>
</r:find>

What would I need to add to this so that Radiant only pulls pages that 
have excerpts (to stop it pulling things like "contact us" pages or menu 
pages etc.?

Thanks!
Posted by Rachel Soma (Guest)
on 2010-11-09 02:06
(Received via mailing list)
Either make sure that only pages you want pulled in are under the url 
you're
pointing at (why is your contact us page under /articles ?) or look into
featured pages
https://github.com/saturnflyer/radiant-featured_pa... to 
select
particular pages for display only.

--
Rachel
Posted by Jim Gay (Guest)
on 2010-11-09 03:24
(Received via mailing list)
I'm about to announce a re-release of featured_pages, but that's not
what you want here.
I'm not sure why you have a 'contact us' page under articles, but you
might have your reasons.

Using featured_pages would require a lot of manual labor.
What you want is for it to be automatic.

Just use the <r:if_url> or <r:unless_url> tags.

You can do something like this:

<r:find url="/articles">
 <ul class="list2">
 <r:children:each order="asc" limit="20" >
     <r:unless_url matches="^contact-us$">
    <li>

The wiki has a lot of great content
https://github.com/radiant/radiant/wiki/Conditional-Tags
Posted by Obi (Guest)
on 2010-11-09 13:47
(Received via mailing list)
Sweet, thanks guys for all your help!

I got lots to read up on now :)
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.