I ran into what I imagine is a common use case and I know there has to be a cleaner way to do this.
{exp:channel:entries channel="media" limit="1" dynamic="no" paginate="bottom"}
<article class="mediaList">
<h2><a href="http://{url_title_path=media/detail}">{title}</a></h2>
<p> <dl></p>
<p> {media-speaker limit="1"}<br />
<dt>Speaker</dt><br />
<dd><br />
{/media-speaker}</p>
<p> {media-speaker backspace="10"}<br />
{media-speaker:people-first} {media-speaker:people-last}, <br />
{/media-speaker}</p>
<p> {media-speaker limit="1"}<br />
</dd><br />
{/media-speaker}</p>
<p> {categories show_group="2" limit="1"}<br />
<dt>Service</dt><br />
<dd><br />
{/categories}</p>
<p> {categories show_group="2" backspace="10"}<br />
{category_name}, <br />
{/categories}</p>
<p> {categories show_group="2" limit="1"}<br />
</dd><br />
{/categories}</p>
<p> {categories show_group="3" limit="1"}<br />
<dt>Series</dt><br />
<dd><br />
{/categories}</p>
<p> {categories show_group="3" backspace="10"}<br />
{category_name}, <br />
{/categories}</p>
<p> {categories show_group="3" limit="1"}<br />
</dd><br />
{/categories}</p>
<p> </dl><br />
{media-description}<br />
<a href="http://">View this entry.</a><br />
</article><br />
{paginate}<br />
Page {current_page} of {total_pages} pages {pagination_links}<br />
{/paginate}<br />
{/exp:channel:entries}In three places I’m forced to use the categories or related fields tag with a limit of 1 to show opening tags, closing tags, and headings. Is there an easier way to test “if related field” or “if category group # is assigned” instead of running multiple loops?
I’m simply trying to have a list page that shows conditional meta information about each post (such as if speakers are assigned which sometimes may be multiple, if certain category groups and categories are assigned which are also sometimes multiples).