Retired Documentation: You are using the documentation for version 1.7.3 which was retired in 2013. Go here for the latest version documentation or check here for your available upgrades to the latest version.
RSS Module Tags
The main purpose of the RSS tag is to render the top portion of the feed containing the name of the author, the character encoding, etc., while the main weblog tag renders the actual rows.
The RSS Module Tag is intended to be used in conjunction with the Weblog Entries tag.
The entire RSS feed is enclosed between the following tags:
{exp:rss:feed}
{/exp:rss:feed}
Sample RSS and Atom Templates
Parameters
If you use any of the following parameters, you will probably want to mirror the same settings for your {exp:weblog:entries} tag contained inside the RSS tag.
status=
status="open"
You may restrict to a particular status. You can choose multiple statuses using a pipe:
status="draft|reviewed|published"
Or exclude statuses using "not"
status="not submitted|processing|closed"
username=
username="petunia"
This parameter limits the query by username. You can use the pipe character to query by multiple usernames:
username="tom|dick|harry"
Or you can add "not" to exclude usernames:
username="not tom|dick|harry|fred"
You can also use the constant "CURRENT_USER" to show entries from only the currently logged in user.
username="CURRENT_USER"
This allow each logged-in user to get only their entries. Users who are not logged in won't see anything. Alternatively, you can use the constant "NOT_CURRENT_USER" to show entries except from the currently logged in user.
username="NOT_CURRENT_USER"
weblog=
weblog="which"
Required. From which weblog to show the meta data information.
show_expired=
show_expired="yes"
You can determine whether you wish for entries that have "expired" to be included.
show_future_entries=
show_future_entries="yes"
You can determine whether you wish for entries dated in the "future" to be included. This option is useful when doing things like creating a list of events, some of which have not occurred yet. Note that EE will still display past entries; this parameter simply instructs EE to also include entries from the future.
Variables
- {author}
- {email}
- {encoding}
- {version}
- {weblog_description}
- {weblog_id}
- {weblog_language}
- {weblog_name}
- {weblog_url}
author
{author}
The name of the person who submitted the last entry.
{email}
The email of the person submitting the very last entry.
encoding
{encoding}
The XML character encoding for the weblog.
version
{version}
The version of ExpressionEngine that you are using (1.0, 1.1, etc.). This data is pulled from system/core/core.system.php.
weblog_description
{weblog_description}
The description of the weblog.
weblog_id
{weblog_id}
ID number of the weblog (not the weblog entry, the actual blog).
weblog_language
{weblog_language}
The code for the language the weblog is in (en-us, etc.).
weblog_name
{weblog_name}
The name of the weblog.
weblog_url
{weblog_url}
The URL associated with the weblog as set in the "Weblog URL" preference under Weblog Management.
Single Variable Dates
Several date variables are available for use. As with other date variables, these require the "format" parameter in order to define how the date should be displayed. See the date variable formatting page for more information.
- {date format="%Y %m %d"}
- {edit_date format="%Y %m %d"}
- {gmt_date format="%Y %m %d"}
- {gmt_edit_date format="%Y %m %d"}
date
{date format="%Y %m %d"}
The date on which the last entry was submitted. Note: as with all dates, the formatting codes are necessary: {date format="%Y"}
edit_date
{edit_date format="%Y %m %d"}
The date on which the entry was last edited.
gmt_entry_date
{gmt_date format="%Y %m %d"}
The date the entry was submitted in GMT. This variable is not localized for each user's date settings.
gmt_edit_date
{gmt_edit_date format="%Y %m %d"}
The date on which the entry was last edited in GMT. This variable is not localized for each user's date settings.
RFC3229 Support
ExpressionEngine has the ability to serve only new content if it receives an RFC3229-compliant request (RFC3229 info). This means that programs or servers that are configured to do so can request to only see new content that has been produced since the last time it requested a feed and EE will provide only that new content. This allows you to reduce bandwidth costs and download time by only serving the necessary content.
This ability is provided by adding a special parameter to the {exp:weblog:entries} opening tag, dynamic_start="on". It is used like so:
{exp:weblog:entries weblog="default_site" limit="10" rdf="off" dynamic_start="on"}
Empty Feeds and Errors
If the combination of tag parameters you specify leads to an error or an empty feed, ExpressionEngine will output a valid, empty RSS feed for you. If you'd like to display the tag errors in this default feed to help troubleshoot why no entries are available, you can put the RSS module into debug mode by adding the debug= parameter:
{exp:rss:feed weblog="default_site" debug="yes"}
If you want, you can also specify your own feed to use in place of the default, with the option of displaying the tag error as well, using the {if empty_feed} conditional. Tag errors can be displayed with the {error} variable.:
{if empty_feed}
<?xml version="1.0" encoding="{charset}"?>
<rss version="2.0">
<channel>
<title>{site_name}</title>
<link>{site_url}</link>
<description>{site_name}</description>
<item>
<title>Feed Error</title>
<description>{error}</description>
</item>
</channel>
</rss>
{/if}