TimWF
Active member
What this template modification accomplishes is eliminating one or more forums from the New Threads listing for ALL users. Note that the way I have implemented this specifically below logged out users would see the posts as they are directed to the page that is the "All Recent Messages" link for logged in users.
Update the 'thread_list_item' template to the following code block, but edit on line 3 and replace "Forum Title to Exclude 1" and "Forum Title to Exclude 2" the forum titles you want to exclude. So if you wanted to exclude the forum we are in now on XenForo you would use "Template Modifications" to replace one of these. It would be better to use forum ids there, though I haven't found a way to get that info easily so just went with the names as it works. (But if you ever change the titles of any excluded forums it will require you to change this code block to keep the messages filtered.)
Also as represented below the part of code:
on line 3 could be removed. That is in place so that the exclusion does not apply when users are clicking the "All Recent Messages" link.
If you want to exclude more or fewer (two exclusions are in the example) you can do this by adding/removing a:
to the ones already in there with the desired forum title.
Update the 'thread_list_item' template to the following code block, but edit on line 3 and replace "Forum Title to Exclude 1" and "Forum Title to Exclude 2" the forum titles you want to exclude. So if you wanted to exclude the forum we are in now on XenForo you would use "Template Modifications" to replace one of these. It would be better to use forum ids there, though I haven't found a way to get that info easily so just went with the names as it works. (But if you ever change the titles of any excluded forums it will require you to change this code block to keep the messages filtered.)
Also as represented below the part of code:
Code:
!{$showingNewThreads} OR
If you want to exclude more or fewer (two exclusions are in the example) you can do this by adding/removing a:
Code:
AND {$thread.forum.title} != 'Forum Title to Exclude 2'
Code:
<xen:require css="discussion_list.css" />
<xen:if is="!{$showingNewThreads} OR ( {$thread.forum.title} != 'Forum Title to Exclude 1' AND {$thread.forum.title} != 'Forum Title to Exclude 2' )">
<xen:if is="{$thread.isDeleted}"><xen:include template="thread_list_item_deleted" /><xen:else />
<li id="thread-{$thread.thread_id}" class="discussionListItem {$thread.discussion_state} {xen:if {$thread.sticky}, 'sticky'} {xen:if {$thread.isNew}, 'unread'}" data-author="{$thread.username}">
<div class="listBlock posterAvatar">
<span class="avatarContainer">
<xen:avatar user="$thread" size="s" img="true" />
<xen:if is="{$thread.user_post_count}"><xen:avatar user="$visitor" size="s" img="true" class="miniMe" title="{xen:phrase you_have_posted_x_messages_in_this_thread, 'count={xen:number $thread.user_post_count}'}" /></xen:if>
</span>
</div>
<div class="listBlock main">
<div class="titleText">
<h3 class="title">
<xen:if is="{$thread.canInlineMod}"><input type="checkbox" name="threads[]" value="{$thread.thread_id}" class="InlineModCheck" id="inlineModCheck-thread-{$thread.thread_id}" data-target="#thread-{$thread.thread_id}" title="{xen:phrase select_thread}: '{$thread.title}'" /></xen:if>
<xen:if is="{$showSubscribeOptions}"><input type="checkbox" name="thread_ids[]" value="{$thread.thread_id}" /></xen:if>
<!-- TODO: Thread prefix here -->
<a href="{xen:link "threads{xen:if '{$thread.isNew} AND {$thread.haveReadData}', '/unread'}", $thread}"
title="{xen:if '{$thread.isNew} AND {$thread.haveReadData}', {xen:phrase go_to_first_unread_message}}"
class="{xen:if $thread.hasPreview, PreviewTooltip}"
data-previewUrl="{xen:if $thread.hasPreview, {xen:link threads/preview, $thread}}">{xen:helper wrap, $thread.title, 50}</a>
<xen:if is="{$thread.isNew}"><a href="{xen:link threads/unread, $thread}" class="unreadLink" title="{xen:phrase go_to_first_unread_message}"></a></xen:if>
</h3>
<xen:if hascontent="true">
<div class="iconKey">
<xen:contentcheck>
<xen:if is="{$thread.isModerated}"><span class="moderated" title="{xen:phrase moderated}">{xen:phrase moderated}</span></xen:if>
<xen:if is="!{$thread.discussion_open}"><span class="locked" title="{xen:phrase locked}">{xen:phrase locked}</span></xen:if>
<xen:if is="{$thread.sticky}"><span class="sticky" title="{xen:phrase sticky}">{xen:phrase sticky}</span></xen:if>
<xen:if is="{$thread.isRedirect}"><span class="redirect" title="{xen:phrase redirect}">{xen:phrase redirect}</span></xen:if>
</xen:contentcheck>
</div>
</xen:if>
<div class="secondRow">
<div class="posterDate muted">
<xen:username user="$thread" title="{xen:phrase thread_starter}" />,
<a{xen:if {$visitor.user_id}, ' href="{xen:link threads, $thread}"'} class="faint"><xen:datetime time="$thread.post_date" title="{xen:if {$visitor.user_id}, '{xen:phrase go_to_first_message_in_thread}'}" /></a><xen:if is="{$showForumLink}">,
<a href="{xen:link forums, $thread.forum}" class="forumLink">{$thread.forum.title}</a></xen:if>
<xen:if is="{$showLastPageNumbers} AND {$thread.lastPageNumbers}">
<span class="itemPageNav">
<span>...</span>
<xen:foreach loop="$thread.lastPageNumbers" value="$pageNumber">
<a href="{xen:link threads, $thread, 'page={$pageNumber}'}">{$pageNumber}</a>
</xen:foreach>
</span>
</xen:if>
</div>
<div class="controls faint">
<xen:if is="{$thread.canEditThread}"><a href="{xen:link 'threads/list-item-edit', $thread}" class="EditControl">{xen:phrase edit}</a></xen:if>
<xen:if is="{$showSubscribeOptions} AND {$thread.email_subscribe}">{xen:phrase email}</xen:if>
</div>
</div>
</div>
</div>
<div class="listBlock stats pairsJustified" title="{xen:phrase members_who_liked_first_message}: {xen:if $thread.isRedirect, '–', {xen:number $thread.first_post_likes}}">
<dl class="major"><dt>{xen:phrase replies}:</dt> <dd>{xen:if $thread.isRedirect, '–', {xen:number $thread.reply_count}}</dd></dl>
<dl class="minor"><dt>{xen:phrase views}:</dt> <dd>{xen:if $thread.isRedirect, '–', {xen:number $thread.view_count}}</dd></dl>
</div>
<div class="listBlock lastPost">
<xen:if is="{$thread.isRedirect}">
<div class="lastPostInfo">{xen:phrase n_a}</div>
<xen:else />
<dl class="lastPostInfo">
<dt><xen:username user="$thread.lastPostInfo" /></dt>
<dd class="muted"><a{xen:if '{$visitor.user_id}', ' href="{xen:link posts, $thread.lastPostInfo}" title="{xen:phrase go_to_last_message}"'} class="dateTime"><xen:datetime time="$thread.lastPostInfo.post_date" /></a></dd>
</dl>
</xen:if>
</div>
</li>
</xen:if>
</xen:if>