Building a Bug Tracker: Creating a List of Reported Bugs
The main functionality of the Bug Tracker is managing bug reports. The way that we’re handling this means that each entry in the Bug Tracker weblog is an actual bug report.
Now that we have the templates setup, the next step is to output a basic list of entries. It’s time to begin working with the data that we’ve previously entered.
The basic list of entries is very straightforward. We’re not going to format those entries in this article, we simply want to get the data outputted so that we can see what we’ve entered. Let’s begin with the Weblog Entries Tag.
{!-- List of all reported bugs --}
{exp:weblog:entries weblog="{bug_tracker_weblog}" limit="30" status="Open|New|Confirmed|Unconfirmed|External|Resolved"}
<h2><a href="{comment_url_title_auto_path}">{title}</a></h2>
<strong>Reported By:</strong> {screen_name}<br />
<strong>Status:</strong> {status}<br />
<strong>Version:</strong> {bug_tracker_version}<br />
<strong>Severity:</strong> {bug_tracker_severity}<br />
<strong>Assigned To:</strong> {bug_tracker_assignment}<br />
<strong>Bug Description:</strong>
{bug_tracker_details}
{/exp:weblog:entries}
{!-- End Bug List --}
Take the above code snippet and place it in the main content portion of your index template.
What we’re doing here is outputting our title and all of our custom fields, for the last 30 entries posted to the Bug Tracker. It’s a pretty simple list, but we’ll get into filtering and sorting that list later in the series.
It’s also a good practice to comment your code, so that the next designer can pick it up. To that end, we’re using Template Comments.
We are ensuring here that entries with all Statuses, except closed, are output in the list. The reason for this is simple: this list is intended to be an overview of all bug reports. Eventually, we’ll move the details into a single-entry view of each bug report. We have this here, for now, to ensure that all of our data is appearing as expected.
What you should see, now, should be a list similar to this screenshot:
![]()
You’ll note that only the Bug Description ({bug_tracker_details}) appears in its own paragraph block; this happens because we set up the other custom fields to have no formatting.
That is the beginning, and from here, we can manipulate our entry list in a variety of interesting ways, as we’ll see in the upcoming articles.


