The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Different Postbit on first post based on prefix (news thread) Details »» | |||||||||||||||||||||||||||
Different Postbit on first post based on prefix (news thread)
Developer Last Online: Aug 2022
This template modification will allow you to display a different posbit based on a prefix. So, for example, if you have a 'news' thread, you could display the first post in a news layout.
Included below is the modified postbit that I use on my forum for an example. The original template comes from the Article Forums mod (https://vborg.vbsupport.ru/showthread.php?t=211638) I've taken out a couple icons at the top and removed the attachment thumbnail box for images. I've added Facebook, Tweetmeme, and Digg buttons to the upper right. Here is a live example of the this mod in action: http://cellphoneforums.net/att/t3063...mmercials.html (example also has helpful posts, tweet poster, and vbseo installed) To install:
This will only work on 3.x Code:
<if condition="THIS_SCRIPT == 'showthread' AND $post[postid] == $GLOBALS['qrfirstpostid'] AND $thread['prefixid'] == news"> $template_hook[postbit_start] <table class="tborder" id="post$post[postid]" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <tr style="display: none;"> <td class="thead" $post[scrolltothis]> <div class="normal" style="float:$stylevar[right]"> <if condition="$show['postcount']">#<a href="showpost.php?$session[sessionurl]p=$post[postid]&postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a> </if> <if condition="$show['infractionlink']"><a href="infraction.php?$session[sessionurl]do=report&p=$post[postid]" rel="nofollow"><img class="inlineimg" src="$stylevar[imgdir_button]/infraction.gif" alt="<phrase 1="$post[username]">$vbphrase[add_infraction_for_x]</phrase>" border="0" /></a> </if> <if condition="$show['inlinemod']"> <input type="checkbox" name="plist[$postid]" id="plist_$postid" style="vertical-align:middle; padding:0px; margin:0px 0px 0px 5px" value="$post[checkbox_value]" /> </if> </div> <div class="normal"> <!-- status icon and date --> <a name="post$post[postid]"><img class="inlineimg" src="$stylevar[imgdir_statusicon]/post_$post[statusicon].gif" alt="$post[statustitle]" border="0" /></a> <if condition="!$show['announcement']"> <else /> <phrase 1="$post[startdate]" 2="$post[enddate]">$vbphrase[x_until_y]</phrase> </if> $post[firstnewinsert] <!-- / status icon and date --> </div> </td> </tr> <tr> <td class="alt2" style="padding:0px"> </td> </tr> <tr> <if condition="$show['moderated']"> <td class="alt2" id="td_post_$post[postid]"> <else /> <td class="alt1" id="td_post_$post[postid]"> </if> <!-- message, attachments, sig --> <div> <div style="float: $stylevar[right]; max-width: 250px; overflow: hidden; <if condition="$af_ie6">width: 225px;</if>"> <!-- user info --> <div class="alt2" style="padding: 10px; margin: 5px; <if condition="!$show[userinfo]">display: none;</if>"> <table cellpadding="0" cellspacing="$stylevar[cellpadding]" border="0" width="100%"> <if condition="$show['avatar']"><tr> <td class="alt2"><a href="member.php?$session[sessionurl]u=$post[userid]"><img src="$post[avatarurl]" $post[avwidth] $post[avheight] alt="<phrase 1="$post[username]">$vbphrase[xs_avatar]</phrase>" border="0" /></a></td> </tr></if><tr> <td nowrap="nowrap"> <div id="postmenu_$post[postid]"> <if condition="$show['profile']"> <a class="bigusername" href="member.php?$session[sessionurl]u=$post[userid]">$post[musername]</a> $post[onlinestatus] <script type="text/javascript"> vbmenu_register("postmenu_$post[postid]", true); </script> <else /> $post[musername] </if> </div> <if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if> <if condition="$post['rank']"><div class="smallfont">$post[rank]</div></if> $template_hook[postbit_userinfo_left] </td> </tr><tr> <td valign="top" nowrap="nowrap"> <div class="smallfont"> <if condition="$post['joindate']"><div>$vbphrase[join_date]: $post[joindate]</div></if> <if condition="$post['field2']"><div>$vbphrase[location_perm]: $post[field2]</div></if> <if condition="$post['age']"><div>$vbphrase[age]: $post[age]</div></if> <if condition="$show['posts']"><div> $vbphrase[posts]: $post[posts] </div></if> $template_hook[postbit_userinfo_right_after_posts] <if condition="$show['infraction']"><div>$vbphrase[infractions]: $post[warnings]/$post[infractions] ($post[ipoints])</div></if> <if condition="$show['reputation']"><if condition="$show['reppower']">$vbphrase[reppower]: <span id="reppower_$post[postid]_$post[userid]">$post[reppower]</span> </if><div><span id="repdisplay_$post[postid]_$post[userid]">$post[reputationdisplay]</span></div></if> $template_hook[postbit_userinfo_right] <div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div> </div> </td> </tr> </table></div> <!-- / user info --> <table align="center" width="100%" cellspacing="2" cellpadding="2" border="0"> <tr> <td valign="bottom"><a name="fb_share" type="box_count" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></td> <td valign="bottom"><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></td> <td valign="bottom"><a class="DiggThisButton"> ('<img src="http://digg.com/img/diggThis.png" height="80" width="52" alt="DiggThis" />?)</a><script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></td> </tr> </table> <div class="alt2 smallfont" style="padding: 5px; margin: 5px 5px 0px 5px;"> <a href="newreply.php?$session[sessionurl]do=newreply&noquote=1&p=$post[postid]" rel="nofollow">$vbphrase[post_a_comment]</a> </div> <if condition="$show['member']"> <div class="alt2 smallfont" style="padding: 5px; margin: 0px 5px 0px 5px;"> <if condition="$show['subscribed']"> <a href="subscription.php?$session[sessionurl]do=removesubscription&t=$post[threadid]" rel="nofollow">$vbphrase[unsubscribe_from_this_thread]</a> <else /> <a href="subscription.php?$session[sessionurl]do=addsubscription&t=$post[threadid]" rel="nofollow">$vbphrase[subscribe_to_this_thread]</a> </if> </div> </if> <if condition="$threadinfo['replycount']"> <div class="alt2 smallfont" style="padding: 5px; margin: 0px 5px 0px 5px;"> <a href="#comments" rel="nofollow">$vbphrase[jump_to_comments]</a> </div> </if> </div> $template_hook[postbit_messagearea_start] <if condition="$show['messageicon'] OR $post['title']"> <!-- icon and title --> <div> <if condition="$show['threadrating']"> <div class="smallfont" id="threadrating" style="float: right; cursor: pointer;"> <a href="$show[nojs_link]#goto_threadrating" id="threadrating_current"><if condition="$show['rating']"><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_$thread[rating].gif" alt="<phrase 1="$thread[votenum]" 2="$thread[voteavg]">$vbphrase[thread_rating_x_votes_y_average]</phrase>" border="0" /><else />$vbphrase[rate_thread]</if></a> <if condition="$show['popups']"><script type="text/javascript"> vbmenu_register("threadrating"); </script></if> </div> </if> <if condition="$show['messageicon']"><img class="inlineimg" src="$post[iconpath]" alt="$post[icontitle]" border="0" /></if> <if condition="$post['title']"><strong class="bigusername">$post[title]</strong></if> <div class="shade"><phrase 1="member.php?u=$post[userid]" 2="$post[username]">$vbphrase[by_x]</phrase> $post[postdate]<if condition="!$show['af_detailedtime']">, $post[posttime]</if> <if condition="$show['infractionlink']"><a href="infraction.php?$session[sessionurl]do=report&p=$post[postid]" rel="nofollow"><img class="inlineimg" src="$stylevar[imgdir_button]/infraction.gif" alt="<phrase 1="$post[username]">$vbphrase[add_infraction_for_x]</phrase>" border="0" /></a> </if> </div> <div style="display: none;"><a href="#comments"><img class="inlineimg" src="$stylevar[imgdir_misc]/multipage.gif" border="0" alt="" /></a> <a href="#comments">$vbphrase[comments] ($threadinfo[replycount])</a></div> </div> <hr size="1" style="color:$stylevar[tborder_bgcolor]; background-color:$stylevar[tborder_bgcolor]" /> <!-- / icon and title --> </if> <!-- message --> <div id="post_message_$post[postid]" style=""> $ad_location[ad_showthread_firstpost_start] $post[message] </div> <!-- / message --> <if condition="$show['attachments']"> <!-- attachments --> <div style="padding:$stylevar[cellpadding]px"> <if condition="$show['imageattachment']"> <fieldset class="fieldset"> <legend>$vbphrase[attached_images]</legend> <div style="padding:$stylevar[formspacer]px"> $post[imageattachments] </div> </fieldset> </if> <if condition="$show['imageattachmentlink']"> <fieldset class="fieldset"> <legend>$vbphrase[attached_images]</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"> $post[imageattachmentlinks] </table> </fieldset> </if> <if condition="$show['otherattachment']"> <fieldset class="fieldset"> <legend>$vbphrase[attached_files]</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"> $post[otherattachments] </table> </fieldset> </if> <if condition="$show['moderatedattachment']"> <fieldset class="fieldset"> <legend>$vbphrase[attachments_pending_approval]</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"> $post[moderatedattachments] </table> </fieldset> </if> </div> <!-- / attachments --> </if> $template_hook[postbit_signature_start] $ad_location[ad_showthread_firstpost_sig] <if condition="$post['signature']"> <!-- sig --> <div> __________________<br /> $post[signature] </div> <!-- / sig --> </if> $template_hook[postbit_signature_end] <if condition="$show['postedited']"> <!-- edit note --> <div class="smallfont"> <hr size="1" style="color:$stylevar[tborder_bgcolor]; background-color:$stylevar[tborder_bgcolor]" /> <em> <if condition="$show['postedithistory']"> <phrase 1="$post[edit_username]" 2="$post[edit_date]" 3="$post[edit_time]" 4="posthistory.php?$session[sessionurl]p=$post[postid]">$vbphrase[last_edited_link_by_x_on_y_at_z_postid]</phrase> <else /> <phrase 1="$post[edit_username]" 2="$post[edit_date]" 3="$post[edit_time]">$vbphrase[last_edited_by_x_on_y_at_z]</phrase> </if> <if condition="$post['edit_reason']"> $vbphrase[reason]: $post[edit_reason] </if> </em> </div> <!-- / edit note --> </if> </td></tr> <tr><td class="alt2"> <div style="float: $stylevar[right];" align="$stylevar[right]"> <!-- controls --> <div id="controls" style="width: auto; display: inline;"> <if condition="$post['editlink']"> <img style="display: none" id="progress_$postid" src="$stylevar[imgdir_misc]/progress.gif" alt="$vbphrase[loading_editor_please_wait]" /> <a href="$post[editlink]"><img src="$stylevar[imgdir_button]/edit.gif" alt="$vbphrase[edit_delete_message]" border="0" /></a> </if> <if condition="$post['forwardlink']"> <a href="$post[forwardlink]"><img src="$stylevar[imgdir_button]/forward.gif" alt="$vbphrase[forward_message]" border="0" /></a> </if> <if condition="$post['replylink']"> <a href="$post[replylink]" rel="nofollow"><img src="$stylevar[imgdir_button]/<if condition="$post['forwardlink']">reply_small<else />quote</if>.gif" alt="$vbphrase[reply_with_quote]" border="0" /></a> </if> <if condition="$show['multiquote_post']"> <a href="$post[replylink]" rel="nofollow" onclick="return false"><img src="$stylevar[imgdir_button]/multiquote_<if condition="$show['multiquote_selected']">on<else />off</if>.gif" alt="$vbphrase[multi_quote_this_message]" border="0" id="mq_$post[postid]" /></a> </if> <if condition="$show['quickreply'] AND !$show['threadedmode']"> <a href="$post[replylink]" rel="nofollow" id="qr_$post[postid]" onclick="return false"><img src="$stylevar[imgdir_button]/quickreply.gif" alt="$vbphrase[quick_reply_to_this_message]" border="0" /></a> </if> <if condition="$show['moderated']"> <img src="$stylevar[imgdir_misc]/moderated.gif" alt="$vbphrase[moderated_post]" border="0" /> </if> <if condition="$show['spam']"> <img src="$stylevar[imgdir_misc]/spam_detected.png" alt="$vbphrase[spam_post]" border="0" /> </if> <if condition="$show['deletedpost']"> <if condition="$show['managepost']"> <a href="postings.php?$session[sessionurl]do=managepost&p=$post[postid]"><img src="$stylevar[imgdir_misc]/trashcan.gif" alt="$vbphrase[manage]" border="0" /></a> <else /> <img src="$stylevar[imgdir_misc]/trashcan.gif" alt="$vbphrase[deleted_post]" border="0" /> </if> </if> <if condition="$show['redcard']"> <a href="infraction.php?$session[sessionurl]do=view&p=$post[postid]"><img src="$stylevar[imgdir_button]/redcard.gif" alt="$vbphrase[received_infraction]" border="0" /></a> <else /> <if condition="$show['yellowcard']"> <a href="infraction.php?$session[sessionurl]do=view&p=$post[postid]"><img src="$stylevar[imgdir_button]/yellowcard.gif" alt="$vbphrase[received_warning]" border="0" /></a> </if> </if> </div> $template_hook[postbit_controls] <!-- / controls --> </div> <div class=""> <span class="shade">$vbphrase[views]</span> $thread[views] <span class="shade"><a href="#comments" class="shade">$vbphrase[comments]</a></span> $thread[replycount] </div> </div> <!-- message, attachments, sig --> </td> </tr> </table> $template_hook[postbit_end] <if condition="(!is_member_of($bbuserinfo, 26,5,6,7))"> $postbit_advertisement </if> <!-- post $post[postid] popup menu --> <div class="vbmenu_popup" id="postmenu_$post[postid]_menu" style="display:none;"> <table cellpadding="4" cellspacing="1" border="0"> <tr> <td class="thead">$post[username]</td> </tr> <if condition="$show['profile']"> <tr><td class="vbmenu_option"><a href="member.php?$session[sessionurl]u=$post[userid]">$vbphrase[view_public_profile]</a></td></tr> </if> <if condition="$show['pmlink']"> <tr><td class="vbmenu_option"><a href="private.php?$session[sessionurl]do=newpm&u=$post[userid]" rel="nofollow"><phrase 1="$post[username]">$vbphrase[send_private_message_to_x]</phrase></a></td></tr> </if> <if condition="$show['emaillink']"> <tr><td class="vbmenu_option"><a href="sendmessage.php?$session[sessionurl]do=mailmember&u=$post[userid]" rel="nofollow"><phrase 1="$post[username]">$vbphrase[send_email_to_x]</phrase></a></td></tr> </if> <if condition="$show['homepage']"> <tr><td class="vbmenu_option"><a href="$post[homepage]"><phrase 1="$post[username]">$vbphrase[visit_xs_homepage]</phrase></a></td></tr> </if> <if condition="$show['search']"> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=finduser&u=$post[userid]" rel="nofollow"><phrase 1="$post[username]">$vbphrase[find_all_posts_by_x]</phrase></a></td></tr> </if> <if condition="$post['userid'] AND $show['member']"> <tr><td class="vbmenu_option"><a href="profile.php?$session[sessionurl]do=addlist&userlist=buddy&u=$post[userid]"><phrase 1="$post[username]">$vbphrase[add_x_to_contacts]</phrase></a></td></tr> </if> $template_hook[postbit_user_popup] </table> </div> <!-- / post $post[postid] popup menu --> <a name="comments" id="comments"></a> <div class="cleardiv" style="margin-top: 24px;"></div> <div style="float: right;" class="smallfont"><span class="shade"> $vbphrase[total_comments]</span> <span id="commentcount2">$threadinfo[replycount]</span></div> <h2 id="comments_heading" style="margin-bottom: 6px; font-size: 12pt;"><a name="comments"></a>$vbphrase[comments]</h2> <if condition="$perpage > 1">$pagenav</if> <else /> YOUR ORIGINAL POSTBIT HERE </if> Supporters / CoAuthors Show Your Support
|
Comments |
#12
|
|||
|
|||
Interesting..
|
#13
|
||||
|
||||
Thanks, its a handy mod! One problem though, my forum members and guests are seeing the different postbit for the first post on each page of the thread. Only the original posters #1 post in the thread should use the different postbit.
Any idea what could be causing this? |
#14
|
||||
|
||||
I'm not sure why that would be happening. The conditional will make sure it is only displayed on the first post of the thread regardless of the page. Did you copy things per the instructions above?
|
#15
|
||||
|
||||
Hi, thanks for the quick reply!
I actually used the adjusted conditional from Danny above for multiple prefixes, however I tried it with just your code as well and the bug was still present. In fact on your site you can see it on page 2 of THIS thread for example. It turns out that admin/mod accounts see it correctly with only the first post in the thread using the different postbit. Guests/not logged in and regular user accounts see the different postbit for the first post on each page of the thread - even though that post isn't the original posters. Thanks to one of our members, he found the fix by changing your conditional to: HTML Code:
<if condition="THIS_SCRIPT == 'showthread' AND $post[postid] == $thread['firstpostid'] AND $thread['prefixid'] == news">
|
#16
|
|||
|
|||
Quote:
|
#17
|
||||
|
||||
As far as I know using the conditional I posted above should work in IE8, Firefox, and Chrome as my staff use those browsers with no report of the bug anymore.
|
#18
|
|||
|
|||
A user is now reporting that he sees the different postbit on every first post even in FF. I'm going to upgrade to VB4 soon anyways. Will this still work?
|
#19
|
|||
|
|||
Is there any chance of this being ported to VB4?
|
#20
|
||||
|
||||
I'm actually using a modified version of the regular postbit template now (postbit_legacy is set as the normal postbit) using this code:
Code:
<vb:if condition="THIS_SCRIPT == 'showthread' AND $post[postid] == $GLOBALS['qrfirstpostid'] AND in_array($thread['prefixid'], array('howto', 'news', 'info'))"> |
#21
|
|||
|
|||
Thanks I'll try it out!
|
Thread Tools | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|